Other parts:
- Part I - Data modeling
- Part II - Html scraping
- Part III - Async loader for prices and divs
- Part IV - Async loader for splits
- Part V - Adjusting historical data
An unnamed friend told me that I should stop posting small snippets of code and instead post entire solutions on CodeGallery. I did it for this one and here is the link.
Here is what’s in the zip file:
- BackTestF - main library to download stock prices
- Common.fs - common things used in the rest of the project (i.e. data modeling and common funcs)
- html.fs - functions to scrap html tables, rows and cells
- loader.fs - this is where the main async downloading algorithms are implemented
- persistence.fs - async saving and loading of stock prices to files
- algorithms.fs - async calculations of compound yearly returns given tickers and dates
-
dotNetWrapper.fs - gives a .NET friendly interface to the whole library so that you can use it from C#/VB.NET
-
Tests - too few testcases running on xUnit (you need to download xUnit separately to run them
- ReturnCalculator - simple console application to show usage of the library
- Bob - rough winforms UI application that uses the library. An unnamed friend (Jonathan) promised me that he was going to create a UI for my little library. My requirements were very simple: I want the best UI app of this century, one that fully takes advantage of the async nature of my code. Bob doesn’t fully satisfy my requirements yet 🙂
The code in persistence.fs, algorithms.fs and especially dotnetwrapper.fs is pretty rough and uninteresting. This is why I don’t blog about it. I reserve the right to do it if I get around to clean it up.
View comments on GitHub or email me