def fullGapPositive(df): diff=df['open']>df['high'].shift(1) df= df[diff] df['sign']=1 df['typeid']=alert_constants.Full_Gap_Up dbdao.savealerts(df)
def volumeNegative(df): diff=( (df['volume']<0.65*df['sma_volume_6month']) ) df= df[diff] df['sign']=-1 df['typeid']=alert_constants.Negative_Volume dbdao.savealerts(df)
def keyReversalNegative(df): diff=((df['open']>df['low'].shift(1)) & (df['close']<df['close'].shift(1)) & (df['close']<df['high'].shift(1)) &(df['volume']>df['sma_volume_6month'])) df= df[diff] df['sign']=-1 df['typeid']=alert_constants.Negative_Key_Reversal dbdao.savealerts(df)
def volumePositive(df): diff=( (df['volume']>=1.45*df['sma_volume_6month']) ) df= df[diff] df['sign']=1 df['typeid']=alert_constants.Positive_Volume dbdao.savealerts(df)
def partialGapPositive(df): diff=df['open']>df['close'].shift(1) df= df[diff] df['sign']=1 df['typeid']=alert_constants.Partial_Gap_up dbdao.savealerts(df)
def partialGapNegative(df): diff=df['open']<df['close'].shift(1) df= df[diff] df['sign']=-1 df['typeid']=alert_constants.Partial_Gap_Down dbdao.savealerts(df)
def obos_alerts(df): df['rsi_value'] = df['rsi'].apply(rsi_manager.calculate_rsi_values) df_aos = df.loc[df['rsi_value'] == constants.RSI_ApproachingOversold] df_aos['sign'] = 1 df_aos['typeid'] = alert_constants.ApproachingOversold df_aos['text'] = 'ApproachingOversold' df_os = df.loc[(df['rsi_value'] == constants.RSI_Oversold)] df_os['sign'] = 1 df_os['typeid'] = alert_constants.Oversold df_os['text'] = 'Oversold' df_aob = df.loc[(df['rsi_value'] == constants.RSI_ApproachingOverbought)] df_aob['sign'] = -1 df_aob['typeid'] = alert_constants.ApproachingOverbought df_aob['text'] = 'ApproachingOverbought' df_ob = df.loc[(df['rsi_value'] == constants.RSI_Overbought)] df_ob['sign'] = -1 df_ob['typeid'] = alert_constants.Overbought df_ob['text'] = 'Overbought' df_merged = pd.concat([df_aob, df_aos, df_os, df_ob], axis=0) dbdao.savealerts(df_merged)
def fullGapNegative(df): diff=df['open']<df['low'].shift(1) df= df[diff] df['sign']=-1 df['typeid']=alert_constants.Full_Gap_Down dbdao.savealerts(df)
def obos_alerts(df): df['rsi_value'] = df['rsi'].apply(rsi_manager.calculate_rsi_values ) df_aos = df.loc[df['rsi_value'] ==constants.RSI_ApproachingOversold] df_aos['sign']=1 df_aos['typeid']=alert_constants.ApproachingOversold df_aos['text']='ApproachingOversold' df_os = df.loc[(df['rsi_value'] ==constants.RSI_Oversold)] df_os['sign']=1 df_os['typeid']=alert_constants.Oversold df_os['text']='Oversold' df_aob= df.loc[(df['rsi_value'] ==constants.RSI_ApproachingOverbought)] df_aob['sign']=-1 df_aob['typeid']=alert_constants.ApproachingOverbought df_aob['text']='ApproachingOverbought' df_ob = df.loc[(df['rsi_value'] ==constants.RSI_Overbought)] df_ob['sign']=-1 df_ob['typeid']=alert_constants.Overbought df_ob['text']='Overbought' df_merged = pd.concat([df_aob,df_aos,df_os,df_ob],axis=0) dbdao.savealerts(df_merged)
def TrendChangeNegative(df, column1, typeid): crossing = ((df[column1] < df[column1].shift(1))) crossing_dates = df.loc[crossing] crossing_dates['sign'] = -1 crossing_dates['typeid'] = typeid df_alerts = crossing_dates.rename(columns={column1: "newvalue"}) dbdao.savealerts(df_alerts)
def macd_crossovers(df): df_bull_signal= bullish_co(df, 'macdhist',alert_constants.MACD_ABOVE_SIGNAL,'MACD crosses above signal line') df_bear_signal=bearish_co(df, 'macdhist',alert_constants.MACD_BELOW_SIGNAL,'MACD crosses below signal line') df_bull_center= bullish_co(df, 'macd',alert_constants.MACD_ABOVE_CENTER,'MACD crosses above center line') df_bear_center=bearish_co(df, 'macd',alert_constants.MACD_BELOW_CENTER,'MACD crosses below center line') df_merged=pd.concat([df_bull_signal,df_bear_signal,df_bull_center,df_bear_center],axis=0) dbdao.savealerts(df_merged)
def TrendChangeNegative(df,column1,typeid): crossing = ((df[column1] <df[column1].shift(1) )) crossing_dates = df.loc[crossing] crossing_dates['sign']=-1 crossing_dates['typeid']=typeid df_alerts=crossing_dates.rename(columns={column1: "newvalue"}) dbdao.savealerts(df_alerts)
def relative_strength(df_merged): df_alert= crossover_manager.bullish_co(df_merged,'Relative_strength',alert_constants.Relative_strength,"") dbdao.savealerts(df_alert) #print df_merged # df_merged["rs"]=df_merged.apply(calculateRelativeStrength,axis=0) # print df_merged #df.apply(lambda x: x- x.shift(120))
def give_negative_co_dates(df,column1,column2,typeid,text): previous_col1 = df[column1].shift(1) previous_col2 = df[column2].shift(1) crossing = ((df[column1] <= df[column2]) & (previous_col1 >= previous_col2)) crossing_dates = df.loc[crossing] crossing_dates['sign']=-1 crossing_dates['typeid']=typeid crossing_dates['text']=text dbdao.savealerts(crossing_dates)
def give_negative_co_dates(df, column1, column2, typeid, text): previous_col1 = df[column1].shift(1) previous_col2 = df[column2].shift(1) crossing = ((df[column1] <= df[column2]) & (previous_col1 >= previous_col2)) crossing_dates = df.loc[crossing] crossing_dates['sign'] = -1 crossing_dates['typeid'] = typeid crossing_dates['text'] = text dbdao.savealerts(crossing_dates)
def macd_crossovers(df): df_bull_signal = bullish_co(df, 'macdhist', alert_constants.MACD_ABOVE_SIGNAL, 'MACD crosses above signal line') df_bear_signal = bearish_co(df, 'macdhist', alert_constants.MACD_BELOW_SIGNAL, 'MACD crosses below signal line') df_bull_center = bullish_co(df, 'macd', alert_constants.MACD_ABOVE_CENTER, 'MACD crosses above center line') df_bear_center = bearish_co(df, 'macd', alert_constants.MACD_BELOW_CENTER, 'MACD crosses below center line') df_merged = pd.concat( [df_bull_signal, df_bear_signal, df_bull_center, df_bear_center], axis=0) dbdao.savealerts(df_merged)