Hi, my name is Colton Smith and I have a passion for investigating and exploiting financial phenomena from the perspective of a data scientist.
While working at Imbue Capital, I have built out a cutting-edge research pipeline for developing quantitative trading strategies that implements the best practices in financial machine learning including labeling techniques, feature engineering and extraction, model selection, cross-validation methods, model interpretability, and portfolio construction. We have used this pipeline to run systematic commodities strategies and aid global macro discretionary trading.
While working at Social Market Analytics, I assisted clients in successfully extracting alpha from alternative data through natural language processing and sentiment analysis. Whether used as the primary dataset or meant to augment an existing strategy, I am familiar with the development process beginning with the initial ingestion of the data to it being the backbone of a live, production model.
To further my financial knowledge, I explore topics of interest on my blog, Quantoisseur. I am guided by a principle that was well-stated in Euan Sinclair’s option trading book which reads, “it is better to deeply understand a simple concept than to have a superficial grasp of a more complex model.” Taking this further, it is necessary to be able to effectively communicate data and its implications, thus my blog serves as a method for me to solidify my understandings of the interactions between mathematics and finance. Additionally, I enjoy projects which allow me to find novel ways to clearly visualize data principles and findings.
MS Applied Mathematics – Columbia University
BS Industrial Engineering – University of Washington
Academic Interests: Numerical Methods, Optimization, Bayesian Statistics, Compressed Sensing, Scientific Computing
Feel free to email me at email@example.com or connect with me on LinkedIn.
5 thoughts on “Building a Basic Cross-Sectional Momentum Strategy – Python Tutorial”
Hi Colton, how are you? nice video!
Just two things:
1 – when calculating the weekly return you are doing look ahead bias because in the first line you already have a return and in my opinion need to be at the opposite way.
2 – for returns you can use the pandas function pct_change().
Hey Felipe, glad you enjoyed it! The reason I do it this way without pct_change() is because want to align the coming week’s return with the signal which makes it easy to work with (think of the return as a label). The return wouldn’t be realized until the following week but there isn’t look ahead bias. Does that make sense?
Yeap! you are right. One thing you can do is some dual momentum approach. using the sectors etfs as your macro momentum and operate inside their members using the relative momentum.
LikeLiked by 1 person
Appreciate you very helpful tutorial. I am getting the following error while executing:
ValueError: could not convert string to float: ‘1999-11-12 00:00:00’