import pandas as pd
import numpy as np
import talib as ta
import matplotlib.pyplot as plt
Import Data
df = pd.read_csv('APPLE.csv',index_col=0)
df = df[['Adj_Open','Adj_High', 'Adj_Low', 'Adj_Close']]
df =df.rename(columns={'Adj_Open': 'Open', 'Adj_High': 'High', 'Adj_Low':'Low', 'Adj_Close':'Close'})
df.index = pd.to_datetime(df.index)
Drop NaN values
df = df.dropna()
Calculate Parabolic SAR
df['SAR']=ta.SAR(df.High.values, df.Low.values, acceleration = 0.02, maximum = 0.2)
Calculate Stochastic Oscillator
df['fastk'], df['fastd'] = ta.STOCHF(df.High.values, df.Low.values, df.Close.values ,fastk_period=5, fastd_period=3)
df['slowk'], df['slowd'] = ta.STOCH(df.High.values, df.Low.values, df.Close.values ,fastk_period=5, slowk_period=3, slowd_period=3)
df['Signal'] = np.nan
df.loc[(df.SAR< df.Close) & (df.fastd>df.slowd) & (df.fastk>df.slowk),'Signal'] = 1