You have been awesome. I learned so much from reading all of your stuff. It is the reason I've gotten this far in this algo. So thank you.
Day trading avoids the pitfalls of volatile seasonal adjustments. Trades are based on the right knowledge of the stock (insight and information based on reports). It has been noted that a strategy making just 1% a day on a consistent basis can mean you will beat 99% of wall street. Given the right insight, wether if it's from custom data, equations, or reports, you're trying to make the most informed decision possible. In a way, you're correcting the stock before anyone else does because of information symmetry. So you might ask, what's secret sauce? Well, you can look at analyst reports for a start, inside information is another, fast news (be it true or false), arbitrary equation and indicators, and last but not least: reasoning.
You're almost there. Now you just need market traction (saturation), mob psychology, algo building orders based on other algos, etc.
My algo tries to involve a custom data set and set out to correct stocks before traction sets in. Just don't ask me where I get the data.
====> My algo is an intraday strategy that does not forward-fill the universe; so any stocks you specify for a certain day will be unique to that day. Repeats are allowed as long as the new date has the same stock.
The strategy is extremely time sensitive, so it's based on real trading (although I've just been running backtests).
Intended steps of operation:
1.) fetch csv file/import data/populate universe
2.) approach first day of event
3.) populate stock universe of that date
4.) open long/short only 20% of the account (long if score is 1, short if score is -1)
5.) close long/short when stop loss/gain percentages reached
6.) exit all positions at the end of the day
But it has some bugs, for example, it sometimes doesn't place the appropriate order; the strategy will trade a long even if the score is a -1 seeking for a short.
Sometimes positions will close but another will be opened at the end of the day (which is closed the next day, this introduced gaps and gaps are bad). If there are conflicting scores for a single time stamp, the first one should always be executed, but sometimes this isn't the case.
Take a look, it's interesting to say the least.
- John Luo
I must give credit to Alisa, Gus, and James, and countless others at Quantopian and regular members for contributing to this code (I've read so many posts).
James helped refactor a lot of the code. I took code written by Quantopian engineers straight from their posts, and also many ideas generated by any discussions I read. Thank you Quantopian for enabling us the people!
|Returns||1 Month||3 Month||6 Month||12 Month|
|Alpha||1 Month||3 Month||6 Month||12 Month|
|Beta||1 Month||3 Month||6 Month||12 Month|
|Sharpe||1 Month||3 Month||6 Month||12 Month|
|Sortino||1 Month||3 Month||6 Month||12 Month|
|Volatility||1 Month||3 Month||6 Month||12 Month|
|Max Drawdown||1 Month||3 Month||6 Month||12 Month|