saleStock.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:DataAnalysis 作者: IMYin 项目源码 文件源码
def Get_RSI(df):
    #??14,5
    slowreal = ta.RSI(np.array(df['close']), timeperiod=14)
    fastreal = ta.RSI(np.array(df['close']), timeperiod=5)
    slowrealMA5 = ta.MA(slowreal, timeperiod=5, matype=0)
    slowrealMA10 = ta.MA(slowreal, timeperiod=10, matype=0)
    slowrealMA20 = ta.MA(slowreal, timeperiod=20, matype=0)
    fastrealMA5 = ta.MA(fastreal, timeperiod=5, matype=0)
    fastrealMA10 = ta.MA(fastreal, timeperiod=10, matype=0)
    fastrealMA20 = ta.MA(fastreal, timeperiod=20, matype=0)
    #18-19 ??real???real      
    df['slowreal']=pd.Series(slowreal,index=df.index) #??real 18
    df['fastreal']=pd.Series(fastreal,index=df.index)#??real 19
    dflen = df.shape[0]
    MAlen = len(slowrealMA5)
    operate = 0
    #RSI>80?????RSI<20????
    if df.iat[(dflen-1),18]>80 or df.iat[(dflen-1),19]>80:
        operate = operate - 2
    elif df.iat[(dflen-1),18]<20 or df.iat[(dflen-1),19]<20:
        operate = operate + 2

    #RSI??50???????????50????????
    if (df.iat[(dflen-2),18]<=50 and df.iat[(dflen-1),18]>50) or (df.iat[(dflen-2),19]<=50 and df.iat[(dflen-1),19]>50):
        operate = operate + 4
    elif (df.iat[(dflen-2),18]>=50 and df.iat[(dflen-1),18]<50) or (df.iat[(dflen-2),19]>=50 and df.iat[(dflen-1),19]<50):
        operate = operate - 4

    #RSI??????????RSI?????????
    if df.iat[(dflen-1),7]>=df.iat[(dflen-1),8] and df.iat[(dflen-1),8]>=df.iat[(dflen-1),9]:#K???
        if (slowrealMA5[MAlen-1]<=slowrealMA10[MAlen-1] and slowrealMA10[MAlen-1]<=slowrealMA20[MAlen-1]) or \
           (fastrealMA5[MAlen-1]<=fastrealMA10[MAlen-1] and fastrealMA10[MAlen-1]<=fastrealMA20[MAlen-1]): #RSI??
            operate = operate - 1
    elif df.iat[(dflen-1),7]<=df.iat[(dflen-1),8] and df.iat[(dflen-1),8]<=df.iat[(dflen-1),9]:#K???
        if (slowrealMA5[MAlen-1]>=slowrealMA10[MAlen-1] and slowrealMA10[MAlen-1]>=slowrealMA20[MAlen-1]) or \
           (fastrealMA5[MAlen-1]>=fastrealMA10[MAlen-1] and fastrealMA10[MAlen-1]>=fastrealMA20[MAlen-1]): #RSI??
            operate = operate + 1

    #?????????????????????????????????????????????????????????????????
    if df.iat[(dflen-1),19]> df.iat[(dflen-1),18] and df.iat[(dflen-2),19]<=df.iat[(dflen-2),18]:
        operate = operate + 10
    elif df.iat[(dflen-1),19]< df.iat[(dflen-1),18] and df.iat[(dflen-2),19]>=df.iat[(dflen-2),18]:
        operate = operate - 10      
    return (df,operate)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号