Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Derived

macrumors 6502
Original poster
Mar 1, 2015
315
207
Midwest
Long, long time visitor user with a new user account. Thought I would ask this question since I've seen the occasional post on the subject in the past.

I'm really going to force myself to get into programing this year, specifically as it relates to finance. Just wanted to know if anyone else here has much experience in that area or has any advice to offer. Mostly, I'm interested in learning Python and C++, as well as CUDA (since I have a Nvidia GPU to work with on my current machine). Is this advisable? Also, if anyone has some specific industry experience, would love to know what is particularly in demand right now or what might in demand in the near future. Have done a bit of research myself but just trying to gather opinions.

Don't really have much programming experience, just a bit in Python, Javascript, HTML. An insignificant amount in C as well. However, I have some reading materials and have found some helpful websites.

Thanks so much in advance.
 
Are you planning on making this an OS X app? Do you know anything about object oriented programming?
 
Should have clarified, I'm not writing an app in Xcode, per se, I'm just looking to do some programming in OS X. Maybe eventually I'd like to create something, but my goal isn't to create an application to sell. Sorry for any confusion.
 
Should have clarified, I'm not writing an app in Xcode, per se, I'm just looking to do some programming in OS X. Maybe eventually I'd like to create something, but my goal isn't to create an application to sell. Sorry for any confusion.

OS X apps can be made beyond using Xcode.

And in response to your question, as long as you understand the design patterns of the programming language(s), know how to use the data types to fit your needs and understand memory management. You should be fine.

Honestly, you can figure out a way to make an app in almost any language for any purpose. Though your requirements should factor in on the language(s) you choose.

You are really general so there is not much advice we can give you. Why not learn about design principles, software engineering, and gathering requirements?

If you know about these things, then you should sit down and write down requirements of an application you want to make. Then design it as general as possible and have it be independent of any language. After that you should explore the languages you think will be suit your needs from your requirements and design.

Lastly, you should begin programming. Though since you have your requirements and design in place you should begin exploring the parts of the language you think you will need to implement both. You should follow tutorials and see how people use the parts of the language similar to your situation. Then read through the languages documentation to see the thought process of the people who made the language. This will help you understand how best to begin programming.

Most of the time, languages should be decided on requirements and design. You've got to make sure the tools you are using will meet these otherwise you should look else where.
 
OS X apps can be made beyond using Xcode.

And in response to your question, as long as you understand the design patterns of the programming language(s), know how to use the data types to fit your needs and understand memory management. You should be fine.

Honestly, you can figure out a way to make an app in almost any language for any purpose. Though your requirements should factor in on the language(s) you choose.

You are really general so there is not much advice we can give you. Why not learn about design principles, software engineering, and gathering requirements?

If you know about these things, then you should sit down and write down requirements of an application you want to make. Then design it as general as possible and have it be independent of any language. After that you should explore the languages you think will be suit your needs from your requirements and design.

Lastly, you should begin programming. Though since you have your requirements and design in place you should begin exploring the parts of the language you think you will need to implement both. You should follow tutorials and see how people use the parts of the language similar to your situation. Then read through the languages documentation to see the thought process of the people who made the language. This will help you understand how best to begin programming.

Most of the time, languages should be decided on requirements and design. You've got to make sure the tools you are using will meet these otherwise you should look else where.

Thanks for the thoughtful response. I've started to do much of this. Mostly, I was just looking to see if anyone here had any specific experience in dealing with programming as it relates to trading. I've mostly decided that I should try to gain proficiency in Python and C++, since between those two you can cover quite a bit of ground...data analysis, building algorithms, and execution systems. I'm sort of doing this for two different purposes...first, to add skills that would allow me to be competitive in this space for a career (as most traders are required to know something about programming these days) and also, because I would like to build something on my own at some point.

I've got resources for both those languages, and that's probably what I'll focus on. Otherwise, I thought it would be interesting to see if anyone here had some unique input in terms of the types of problems they're looking to solve in the workplace.
 
strange to find myself responding to a thread in the programming section..

i work in finance, more specifically within the hedge fund space. i am on the business side of things, but from my experience with our quant/dev staff, you want to focus on python, C++/#, and R. there may be other languages used by various players on the buy and sell side, but this should cover most of it. i would also familiarize myself with FinCAD and MatLAB libraries/functionality, as those are usually used in conjunction with more robust code.

there has been a lot of literature written lately about program/high frequency trading. that's really implementation - trading algos, platforms, front end systems, models, etc are just implementation of the code. you will need to develop some sense of the financial side of things - for example, doing dual curve bootstrapping to value OTC derivatives, you have to understand the concept/theory before you put your coding skills to use.

this is but a scratch on the surface, but i hope you find it somewhat useful
 
strange to find myself responding to a thread in the programming section..

i work in finance, more specifically within the hedge fund space. i am on the business side of things, but from my experience with our quant/dev staff, you want to focus on python, C++/#, and R. there may be other languages used by various players on the buy and sell side, but this should cover most of it. i would also familiarize myself with FinCAD and MatLAB libraries/functionality, as those are usually used in conjunction with more robust code.

there has been a lot of literature written lately about program/high frequency trading. that's really implementation - trading algos, platforms, front end systems, models, etc are just implementation of the code. you will need to develop some sense of the financial side of things - for example, doing dual curve bootstrapping to value OTC derivatives, you have to understand the concept/theory before you put your coding skills to use.

this is but a scratch on the surface, but i hope you find it somewhat useful

Thanks, appreciate your input very much. I have a finance background (academically), just not any real experience with programming. That's what I'm trying to change. At this point, I'm trying to develop a well-rounded skill set, although both derivatives and just pure pattern recognition-driven equity strategies appeal to me.

Almost one of the biggest challenges is that there's so much out there to know, and you have to figure out what the best use of your time will be in order to give yourself the best possible skill set.

I actually do have access to Matlab as well, and have been meaning to get some exposure to that as well. I actually just learned that I might have the opportunity to interview for a position where Python and/or C++ would be helpful. It would be a derivatives role so of course some background knowledge is necessary in that as well. Going to focus on those two languages for now and hopefully that will make other things easier to pick up going forward.
 
Thanks, appreciate your input very much. I have a finance background (academically), just not any real experience with programming. That's what I'm trying to change. At this point, I'm trying to develop a well-rounded skill set, although both derivatives and just pure pattern recognition-driven equity strategies appeal to me.

If you are looking for an easy pattern matching / recognization, Haskell is a great language to learn.

----------

... I've mostly decided that I should try to gain proficiency in Python and C++, since between those two you can cover quite a bit of ground...data analysis, building algorithms, and execution systems. I'm sort of doing this for two different purposes...first, to add skills that would allow me to be competitive in this space for a career (as most traders are required to know something about programming these days) and also, because I would like to build something on my own at some point.

I've got resources for both those languages, and that's probably what I'll focus on. Otherwise, I thought it would be interesting to see if anyone here had some unique input in terms of the types of problems they're looking to solve in the workplace.

First, any language can build algorithms. All algorithms are; a set of instructions to solve a problem or do some calculation(s). So English or Chinese can build an algorithm.

If you are looking for problems to solve in the workplace, that's not really what this section is for. This section is for helping you learn about programming, not the problems that are trying to be solved. Yes, we can help you look at tools or languages and their respective resources that can help you solve the problems you already have.

Lastly, I would look into Haskell for pattern matching as you can do some piping between Python and Haskell. I'd also look into NoSQL databases to allow your datasets to be dynamic yet maintain performance.
 
kage207,

Thanks for the response.

Of course, I'm well aware of the fact that any language can be used to write algos, I'm simply referring to the fact that most firms absolutely do use different languages for different purposes, due to relative strengths and weaknesses. One firm might use C++, Python, and Java all at once, for different things. But I appreciate your insight of course. I will look into Haskell too.

I suppose I misinterpreted what this forum was for, I had gotten the impression it was generally for people interested in programing in OS X. If this isn't the case, I suppose I will go elsewhere for my questions.

Thanks a lot for your time, greatly appreciate it. Sorry to clog up the forum.
 
strange to find myself responding to a thread in the programming section..

i work in finance, more specifically within the hedge fund space. i am on the business side of things, but from my experience with our quant/dev staff, you want to focus on python, C++/#, and R. there may be other languages used by various players on the buy and sell side, but this should cover most of it. i would also familiarize myself with FinCAD and MatLAB libraries/functionality, as those are usually used in conjunction with more robust code.

there has been a lot of literature written lately about program/high frequency trading. that's really implementation - trading algos, platforms, front end systems, models, etc are just implementation of the code. you will need to develop some sense of the financial side of things - for example, doing dual curve bootstrapping to value OTC derivatives, you have to understand the concept/theory before you put your coding skills to use.

this is but a scratch on the surface, but i hope you find it somewhat useful

Hm, (this is broader than OP requested but) how do you think the recent FCC/govt-industry regs will affect the playing field and practices? Cybersecurity, "net neutrality", etc?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.