Skip to content

A trading bot utilized on the TD Ameritrade platform written in python and utilizing tda-api API.

Notifications You must be signed in to change notification settings

quantbeans/Dual-Momentum-Trading-Bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Long Term Momentum Trading on Tech Stocks

What is this repository?

A trading bot utilized on the TD Ameritrade platform written in python and utilizing tda-api API. Bot originally discovered, tweaked, and backtested on Quantopian.

What strategy is used?

We utilized Dual Momentum Strategy which focuses on weighted momentum based on the previous 1, 3, and 6 months. Portfolio rebalance happens bi-monthly. Risk lies in having entire portfolio within one stock and huge drawdown. However, since we would have held long term without rebalance, we would have expected similar drawdowns.

Why we chose the stocks we used?

Since our plan is to hold stocks we find value in long term, we decided to implement a momentum based strategy that would alternate between stocks that we would have held long term regardless. Since this backtest also shows tremendous spikes from Tesla and AMD, future results may not show as promising returns. Regardless, we find value in these companies and would have held them long term.

Start date2014-01-03
End date2020-09-11
Total months80
Backtest
Annual return 93.96%
Cumulative returns 8290.412%
Annual volatility 57.039%
Sharpe ratio 1.44
Calmar ratio 1.61
Stability 0.94
Max drawdown -58.344%
Omega ratio 1.34
Sortino ratio 2.31
Skew 1.49
Kurtosis 26.22
Tail ratio 1.27
Daily value at risk -6.86%
Gross leverage 0.94
Daily turnover 3.74%
Alpha 0.67
Beta 0.60
Worst drawdown periods Net drawdown in % Peak date Valley date Recovery date Duration
0 58.34 2020-02-19 2020-03-18 2020-06-08 79
1 46.41 2018-09-14 2018-10-29 2019-12-23 332
2 39.84 2015-12-29 2016-02-09 2016-04-22 84
3 32.36 2017-02-27 2017-05-08 2018-01-26 240
4 32.10 2020-08-31 2020-09-08 NaT NaN
Stress Events mean min max
Apr14 -0.01% -5.57% 5.81%
Oct14 0.29% -1.46% 2.56%
Fall2015 -0.08% -5.89% 6.89%
New Normal 0.33% -23.15% 50.11%
Top 10 long positions of all time max
AMD-351 96.52%
TSLA-39840 96.41%
AMZN-16841 95.73%
SPXL-37514 95.46%
AAPL-24 95.15%
Top 10 short positions of all time max
Top 10 positions of all time max
AMD-351 96.52%
TSLA-39840 96.41%
AMZN-16841 95.73%
SPXL-37514 95.46%
AAPL-24 95.15%

Performance Relative to Common Risk Factors

Summary Statistics
Annualized Specific Return 81.75%
Annualized Common Return 6.45%
Annualized Total Return 93.96%
Specific Sharpe Ratio 1.43
Exposures Summary Average Risk Factor Exposure Annualized Return Cumulative Return
basic_materials 0.00 0.00% 0.00%
consumer_cyclical 0.54 3.68% 27.35%
financial_services 0.00 0.00% 0.00%
real_estate 0.00 0.00% 0.00%
consumer_defensive 0.00 0.00% 0.00%
health_care 0.00 0.00% 0.00%
utilities 0.00 0.00% 0.00%
communication_services 0.00 0.00% 0.00%
energy 0.00 0.00% 0.00%
industrials 0.00 0.00% 0.00%
technology 0.65 11.39% 105.71%
momentum 1.99 -1.86% -11.79%
size 1.92 -2.39% -14.96%
value -0.89 0.23% 1.55%
short_term_reversal -0.41 0.16% 1.10%
volatility 1.09 -3.88% -23.24%

png

png

png

png

png

About

A trading bot utilized on the TD Ameritrade platform written in python and utilizing tda-api API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%