This is an overview of services I do. I have tried to list several categories, but some projects I have done fit in multiple ones, and some fit none. In other words, even if you don’t find your project or problem listed below, if it concerns finance and data, please feel free to send a message.
I have been active in the financial markets and worked with financial data since 2006 (for more about my background see the About page). I have worked on projects of varying sizes, from several hours to several months – mostly remote, but some on site or combined. I am open to traveling or relocating when reasonable relative to project size.
Research, Modeling, Machine Learning
I can help with quant finance research and development. My work is based on traditional financial theory and tools like asset pricing and volatility models, technical indicators or risk metrics, as well as newer research, machine learning and statistical methods.
My role is often mainly consulting and prototyping, but I can also write production code. I understand the importance of reusability, documentation, version control, testing, and all the best practices.
My primary research tool is Python (numpy, pandas, matplotlib, scikit-learn), but I have worked with a wide range of languages and technologies.
Examples of projects:
- Asset pricing models
- Performance and risk analysis
- Stock filtering / clustering models
- Regression models
- Custom indicators and metrics
- Trading strategy filters
- Asset / strategy allocation models
- Market regime detection
- Dimensionality reduction in trading strategies and models
- Market activity / volatility / sentiment models using textual data and web/social activity
- Data visualization, presentation and writing
Financial Data Processing
The first and quite unpopular task of most financial research projects is cleaning the data and getting it to suitable format. Typical tasks I do (usually using Python) include the following:
- Detecting and fixing errors and duplicates
- Converting to a different timezone
- Splitting a file with multiple symbols or expirations to multiple files
- Merging multiple files into one
- Removing unnecessary text (like symbol or exchange name) from each row
- Changing number or date/time formats
- Converting intraday data to a slower timeframe (e.g. 1min to 5min or tick data to 1min)
- Converting between file formats
If your task is not too unusual and concerns historical market data, it is quite likely I already have a script that does exactly what you need to do.
That said, time series of historical prices is not the only kind of financial data. I also work with data like portfolio valuations, company fundamentals, news, tweets, social media posts and other text, and more.
Input and output formats can vary – APIs, CSV files, databases, or data scraped from websites are the most common.
I can help get data (not only prices, but also the other kinds listed in the above section) from websites, even when the particular website does not provide it in a friendly format. The typical task is to extract the data from a website’s html code.
I use mainly Python (beautifulsoup) and PHP.
Database and SQL Development
I can build security master databases, backtesting engines, trading logs, or systems combining multiple purposes. I can also optimize, extend or migrate existing solutions.
I have built or worked with countless market data databases. I know which solutions work and which don’t (not only in terms of initial setup, but also in terms of updates and maintenance, which is often underestimated).
- Historical prices (end of day and intraday)
- Expirations and final settlement values
- Futures contract rollover dates
- Option Greeks and IV
- Dividends and splits
- Index composition, with changes
- Fundamentals like company financials and macro
- News and social media activity
- Multiple exchanges, currencies, timezones, data sources
I can work with different systems, but mainly MySQL/MariaDB and PostgreSQL. A project typically includes one or more of the following: consulting, database schema, data handling scripts and procedures.
Excel VBA Development
Good examples of work I can do in Excel and VBA are the calculators.
I am often asked to customize the calculators or do other Excel work. Although I have done such projects occasionally, they have been rare. I can add more value in other areas, and for Excel development you can probably find cheaper contractors who can deliver good quality.
A possible solution is for me to only do the “hard” parts – prototype models, write formulas, VBA functions etc. – and leave final design and formatting to the client. This way you only pay for the essential parts where my contribution makes a difference, and you can tailor the easier parts like visual design to your preferences.
Many projects involving larger volumes of data are more effectively done with other tools, like Python and SQL. Excel has serious limitations beyond a couple thousand rows. I can assist with optimizing performance of big and slow spreadsheets, and possibly migrating them to more efficient technology.
I can consult on any of the above listed subjects. Typical channels are email or Skype (voice or chat).
Please note that any consultation is technical or educational only. I am not authorized to provide investment or trading advice – I can’t tell you which strategies to trade or what to do with your positions.
If you think I may be the right person for your project, please feel free to send a message.