2024-05-07笔记
df['date'].shift(1)
###向下位移1格
df.resample("M").first()
###每月的第一天(first),最后一天(last)
双均线:金叉(五日均线比三十日均线高,买入),死叉(五日均线比三十日均线低,卖出)
五日均线df['ma5']=df['close'].rolling(5).mean()
三十日均线df['m30']=df['close'].rolling(30).mean()
1 2 3 4 5 6 7 | ##金叉死叉法二 sr1 = df1[ 'ma5' ]>df1[ 'ma30' ] sr2 = df1[ 'ma5' ]>df1[ 'ma30' ] death_cross = df1[sr1 & sr2.shift( 1 )].index gloden_cross = df1[ - (sr1 | sr2.shift( 1 ))].index gloden_cross |
TTTTTFFFFFTTTTT TTTTTFFFFFTTTTT
FFFFFTTTTTFFFFF ---------------> FFFFFTTTTTFFFFF
1 first_money = 100000 2 money = first_money 3 hold = 0 #起始持股 4 sr1 = pd.Series(1,index=gloden_cross) 5 sr2 = pd.Series(0,index=death_cross) 6 sr = sr1.append(sr2).sort_index() 7 8 for i in range(0,len(sr)): 9 price = df1['open'][sr.index[i]] 10 if sr.iloc[i] == 1: 11 #金叉 12 buy = (money // (100 * price)) 13 hold += buy*100 14 money -= buy*100*price 15 else: 16 money += hold*price 17 hold = 0 18 price = df1['open'][-1] 19 now_money = hold * price + money 20 print(now_money - first_money)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步