Spaces:
Runtime error
Runtime error
| import ta | |
| import pandas as pd | |
| import numpy as np | |
| def GetPatternForData(stock_data_df): | |
| candle_name_list = ta.get_function_groups()['Pattern Recognition'] | |
| tech_analysis_df = stock_data_df.iloc[-10:].copy() | |
| op_df = tech_analysis_df.Open | |
| hi_df = tech_analysis_df.High | |
| lo_df = tech_analysis_df.Low | |
| cl_df = tech_analysis_df.Close | |
| for candle in candle_name_list: | |
| tech_analysis_df[candle] = getattr(ta, candle)(op_df, hi_df, lo_df, cl_df) | |
| result = pd.DataFrame(tech_analysis_df[['Date']+candle_name_list].sum(), columns=['Count']) | |
| filtered_results = result[result.Count != 0] | |
| if filtered_results.empty: | |
| return None, tech_analysis_df | |
| else: | |
| return filtered_results[filtered_results.Count == filtered_results.Count.max()].index[0], tech_analysis_df | |
| return None, tech_analysis_df | |
| def ComputeChaikinADSignal(stock_data_df): | |
| ADOSC_data = stock_data_df.copy() | |
| ADOSC_data['ADOSC'] = ta.ADOSC(ADOSC_data.High, ADOSC_data.Low, ADOSC_data.Close, ADOSC_data.Volume, | |
| fastperiod=3, slowperiod=10) | |
| ADOSC_data.dropna(inplace=True) | |
| ADOSC_data['ADOSC_chg'] = np.log(ADOSC_data['ADOSC']/ADOSC_data['ADOSC'].shift(1)) | |
| ADOSC_data.dropna(inplace=True) | |
| return ADOSC_data | |
| def ComputeMACDSignal(stock_data_df): | |
| macd_data_df = stock_data_df.copy() | |
| macd_data_df['macd'], macd_data_df['macdsignal'], macd_data_df['macdhist'] =\ | |
| ta.MACD(macd_data_df.Close, fastperiod=12, slowperiod=26, signalperiod=9) | |
| macd_data_df.dropna(inplace=True) | |
| return macd_data_df | |