可转债综合交易框架----模拟持股函数

写了框架,很多读者不知道原理函数,今天写教程,程序只需要保持一次数据,后面数据都是程序模拟的数据快速交易

图片

获取数据

图片

模拟数据

图片

模拟持股函数

def adjust_hold_data(self,stock='603918',trader_type='sell',price=12,amount=100):        '''        模拟持股数据        '''        price=float(price)        amount=float(amount)        df=pd.read_excel(r'持股数据\持股数据.xlsx',dtype='object')        del df['Unnamed: 0']        df.index=df['证券代码']        df1=df[df['证券代码']==stock]        if df1.shape[0]>0:            #可用余额            available_balance=df1['可用余额'].tolist()[-1]            #股票余额            stock_balance=df1['股票余额'].tolist()[-1]            if trader_type=='buy':                stock_balance+=float(amount)                available_balance+=float(amount)            elif trader_type=='sell':                available_balance-=float(amount)                stock_balance-=float(amount)                if available_balance<=0:                    available_balance=0                stock_balance-=float(amount)                if stock_balance<=0:                    stock_balance=0            else:                pass            df1['可用余额']=[available_balance]            df1['股票余额']=[stock_balance]            data=df.drop(stock,axis=0)            data=pd.concat([data,df1],ignore_index=True)            data.to_excel(r'持股数据\持股数据.xlsx')            print('持股数据调整成功')        else:            df2=pd.DataFrame()            df2['明细']=['0']            df2['证券代码']=[stock]            df2['证券名称']=['0']            df2['股票余额']=[amount]            df2['可用余额']=[amount]            df2['冻结数量']=[0]            df2['成本价']=[price]            df2['市价']=[price]            df2['盈亏']=[0]            df2['盈亏比(%)']=[0]            df2['市值']=[amount*price]            df2['当日买入']=[0]            df2['当日卖出']=[0]            df2['交易市场']=[0]            df2['持股天数']=[0]            data=pd.concat([df,df2],ignore_index=True)            data.to_excel(r'持股数据\持股数据.xlsx')            print('持股数据调整成功')                                      print('{}没有持股'.format(stock))

转股函数在账户没有这个标的回建立这个标的数据,有就在这个标的操作​​​​​​​

else:            df2=pd.DataFrame()            df2['明细']=['0']            df2['证券代码']=[stock]            df2['证券名称']=['0']            df2['股票余额']=[amount]            df2['可用余额']=[amount]            df2['冻结数量']=[0]            df2['成本价']=[price]            df2['市价']=[price]            df2['盈亏']=[0]            df2['盈亏比(%)']=[0]            df2['市值']=[amount*price]            df2['当日买入']=[0]            df2['当日卖出']=[0]            df2['交易市场']=[0]            df2['持股天数']=[0]            data=pd.concat([df,df2],ignore_index=True)            data.to_excel(r'持股数据\持股数据.xlsx')            print('持股数据调整成功')                                      print('{}没有持股'.format(stock))

持股数据

图片

比如输入600031,没有这个标的回自动建立,比如买入100,价格100

图片

运行结果

图片

图片

比如卖出600031,100股,100价格

图片

运行结果

图片

图片

完整的交易程序在知识星球

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xg_quant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值