基金定投代码策略importtushareastsimportxlrdimportpandasaspdimportmatplotlib.pyplotaspltts.set_token('************************')pro=ts.pro_api()JJ=input('fund:')df=pro.fund_nav(ts_code=JJ)df.sort_values(by=['end_date'],inplace=True)#按时间从小到大排序df=df.reset_index(drop=True)#indexremarkdf['交易时间']=pd.to_datetime(df['end_date'],format='%Y-%m-%d')df=df[['交易时间','unit_nav']]#只选择日期和净值df=df[df['交易时间']>='2019-03-13']df=df[df['交易时间']<='2020-03-13']df["每笔投资"]=30df["累计投资"]=df["每笔投资"].cumsum()c_rate=0.002df["每笔金额"]=df["每笔投资"]/df['unit_nav']*(1-c_rate)df["累计金额"]=df["每笔金额"].cumsum()df["盈亏"]=df["累计金额"]*df['unit_nav']-df["累计投入资金"]df["30日均线"]=(df['unit_nav'].rolling(30).mean())#"累计投入资金","平均持仓成本"df=df[['交易时间','unit_nav',"累计投入资金","盈亏","30日均线"]]print(df.iloc[-1])#print(df.tail())exit()dfplot=df.copy()dfplot.index=dfplot["交易时间"]#path="C://Users//fuxingyu//Desktop//%s.xlsx"%('007491')#df.to_excel(path)dfplot[['unit_nav'"30日均线"]].plot(title=Jj)dfplot[["盈亏"]].plot(title=JJ)plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False#用来正常显示负号plt.show()
