Advertisement
cjc5013

Research Case Study Template

Sep 18th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. import talib as ta
  2.  
  3. #Get Data
  4. df = get_pricing('spy' , start_date='2003-01-01' , end_date='2019-09-16' , frequency='daily')
  5.  
  6. #Get Trailing 1,3,5 Day Percent Changes, drop NAs and observe the baseline results
  7. df['percent_ch_1d'] = df['close_price'].pct_change(1)
  8. df['percent_ch_3d'] = df['close_price'].pct_change(3)
  9. df['percent_ch_5d'] = df['close_price'].pct_change(5)
  10. df.dropna(inplace=True)
  11. df[['percent_ch_1d','percent_ch_3d','percent_ch_5d']].describe()
  12.  
  13. #Calc RSI
  14. df['rsi_4'] = ta.RSI(df['close_price'] , 4)
  15.  
  16. #Shift closes back in time
  17. df['FUT_1d_c'] = df['close_price'].shift(-1)
  18. df['FUT_3d_c'] = df['close_price'].shift(-3)
  19. df['FUT_5d_c'] = df['close_price'].shift(-5)
  20.  
  21. #Calculate future percent returns and drop NAs
  22. df['FUT_1d_perc'] = df['FUT_1d_c'].pct_change(1)
  23. df['FUT_3d_perc'] = df['FUT_3d_c'].pct_change(3)
  24. df['FUT_5d_perc'] = df['FUT_5d_c'].pct_change(5)
  25. df.dropna(inplace=True)
  26.  
  27. #Make a Condition
  28. condition_1 = df['rsi_4'] < 30
  29. filtered_df = df[condition_1]
  30.  
  31. #See future results
  32. filtered_df[['FUT_1d_perc','FUT_3d_perc','FUT_5d_perc']].describe()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement