Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import talib as ta
- #Get Data
- df = get_pricing('spy' , start_date='2003-01-01' , end_date='2019-09-16' , frequency='daily')
- #Get Trailing 1,3,5 Day Percent Changes, drop NAs and observe the baseline results
- df['percent_ch_1d'] = df['close_price'].pct_change(1)
- df['percent_ch_3d'] = df['close_price'].pct_change(3)
- df['percent_ch_5d'] = df['close_price'].pct_change(5)
- df.dropna(inplace=True)
- df[['percent_ch_1d','percent_ch_3d','percent_ch_5d']].describe()
- #Calc RSI
- df['rsi_4'] = ta.RSI(df['close_price'] , 4)
- #Shift closes back in time
- df['FUT_1d_c'] = df['close_price'].shift(-1)
- df['FUT_3d_c'] = df['close_price'].shift(-3)
- df['FUT_5d_c'] = df['close_price'].shift(-5)
- #Calculate future percent returns and drop NAs
- df['FUT_1d_perc'] = df['FUT_1d_c'].pct_change(1)
- df['FUT_3d_perc'] = df['FUT_3d_c'].pct_change(3)
- df['FUT_5d_perc'] = df['FUT_5d_c'].pct_change(5)
- df.dropna(inplace=True)
- #Make a Condition
- condition_1 = df['rsi_4'] < 30
- filtered_df = df[condition_1]
- #See future results
- filtered_df[['FUT_1d_perc','FUT_3d_perc','FUT_5d_perc']].describe()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement