Best programming language for trading?

CSI Data is good. Quandl EOD data is great. Both are around the same price. Quandl has an API, CSI Data charges way too much for API access. If you want an API - my recommendation is Quandl. If you're really that strapped for cash go bum some cash from someone and buy adjusted historical stock data in CSV form.
Appreciate your very thoughtful response.

I am not strapped for cash but don't like to pay if I can get them for free. :D

Also my broker provides historical data, just don't know how accurate it is. If I use historical stock data for back test, should I use actual or adjusted?

Regards,
 
Also my broker provides historical data, just don't know how accurate it is. If I use historical stock data for back test, should I use actual or adjusted?

That's up for debate. The answer is "whatever you'll be trading on". The prices you see on your charts are probably back-adjusted for splits, etc.

I'd use your broker's data over any free source. Remember, the free data sources have no incentive to give you good data. You might think you are getting a great deal until your system fires off a bunch of terribly timed signals because your training set was bad. You'll pay for the data one way or the other.
 
With reversing BSM to get IV you should be able to use Excel Solver reasonably quickly. No need to learn linear/quadratic/etc programming if you don't have to.

For calculating distributions I would be very surprised if VBA didn't have a way to access NORMDIST or something. If not, you can always write your own function to do it. Depending on what you need it may be more work (mass function vs cumulative distribution, etc) but it's definitely doable.
What is Excel Solver? I Googled, it is an Add-in and my Excel does not have that feature.

For my VBA macro, VBA does not recognize NORMDIST, I have to calculate NORMDIST in Excel and then access it in my VBA subroutines. To write those functions myself, it is beyond my capability.:(
 
VBA does not recognize NORMDIST:(

Hmmmm. Have you tried calling it as Application.NormDist?


as in:

d1 = (Log(underly / strike) + rfrate * t) / dtmp + 0.5 * dtmp
d2 = d1 - dtmp
dtmp = strike * Exp(-rfrate * t)
vcall = underly * Application.NormDist(d1, 0, 1, True) - dtmp * Application.NormDist(d2, 0, 1, True)
 
But I found my VBA macro could not compute functions like normal distributions
If you are accessing a "worksheet function" you usually have to put the word "Application." or "Application.WorksheetFunction." in front of it. Like this:

Application.NormDist(a,b,c,d)

2. If I want to automate my trading algorithm from Excel, is it possible?
Yes, very possible. As long as your strat is not latency-sensitive or requires truly massive or complex calculations, you should not have any problems.


3. If I learn ... MATLAB ... can I download data from Yahoo Finance into those and can I link my Excel data file with [Matlab]?
Yes, and Yes. Full version license for Matlab runs into the $thousands though (and free clone Octave just doesn't cut it), so you might consider switching over to R.
 
What is Excel Solver? I Googled, it is an Add-in and my Excel does not have that feature.

For my VBA macro, VBA does not recognize NORMDIST, I have to calculate NORMDIST in Excel and then access it in my VBA subroutines. To write those functions myself, it is beyond my capability.:(

See here: https://www.elitetrader.com/et/thre...her-traders-coders.313213/page-3#post-4518050

and,

See emphasized text within below quote. ("...A while back I introduced you to the Excel WORKSHEETFUNCTION. What happened with that?...")

Maybe start your own ET thread for this project?

I think I understand you. Been awhile since I've watched a PBS documentary explaining the origins of the Black-Scholes equation--a good watch btw.

Are you sure you have Office for Mac 2010? And not 2011:

"Microsoft Office for Mac 2011 is a version of the Microsoft Office productivity suite for Mac OS X. It is the successor to Microsoft Office 2008 for Mac and is comparable to Microsoft Office 2010 for Windows. Office 2011 was followed by Microsoft Office 2016 for Mac released on September 22, 2015, requiring a Mac with a 64-bit Intel processor and OS X Yosemite or later."
https://en.wikipedia.org/wiki/Microsoft_Office_for_Mac_2011

A while back I introduced you to the Excel WORKSHEETFUNCTION. What happened with that?

Maybe upload your workbook somewhere where I or others can take a look at it. If you only want me to look at it, PM me the link. You can try to strip any personal or proprietary data from it by replacing it with dummy data...as long at it still 'works' the 'same.'

If I can't make sense of it; don't want to make sense of it; or you don't want to upload it; I may attempt to just code a simple version to do what you state above whereby, hopefully, you can learn from and use as a sample to apply to your project.
 
If you need a good IDE use the community version of Pycharm works with Java, python and others just makes it easy for debugging .
Python add-ons for writing out Excel , has HTML parsers for scraping pages,
Url libraries for downloading data. Matlab data structures, plotlib for plotting charts and on and on
 
What I like about MATLAB that you can use Java and Perl directly in with your MATLAB code. I write a witch's brew using all three as each has its own strengths.
 
Newb to programming but slowly opening up to the idea that it is very beneficial for trading and also for holding down a regular job outside of trading.

Right now I am contemplating the first language to learn.. So far I am stuck between Java or Python.
What would you recommend for someone new to programming but wants to have the most impact in regards to trading?


The future is with Python I guess. Easy to learn and implement your ideas. Basically it's good because it has in built compiler so you have to write less code. The second is how variables are defined - they can be defined anywhere in the code. But well there is drawback with Python and it's speed. If you build sophisticated strategies where ms matters you have to dig into python compiler to make some tweaks and increase speed of execution
 
  • Like
Reactions: d08
I don't quite understand the Python bashing. There's more ways than one to use Python. I do everything from research to automation in Python and thus simplify things quite a bit. The difference is that the code is converted and compiled to C using Cython, not for speed but for obfuscation.
I've yet to encounter any issues.
 
Back
Top