你好我有一个股票模型逻辑,请教一下如何在金字塔下能实现历史回测测试时间20100101-20190301
测试周期 日线
模型逻辑如下:
买入条件:
1:测试从开始日期开始滚动测试,选取当时所有A股且上市日期大于6个月时间,剔除ST股票
1.1 在满足上面条件的股票里面,再对每一只股票进行一个指标A的计算,选取满足指标A的股票,并记录满足的股票数量x,将账户资金/x(平均分配),对每一只股票买入1份资金,以当日收盘价买入;
卖出条件:
1:日K线的收盘价跌破20日均线,则卖出;
2:日K线的指标B满足时,则卖出;
3:日K线的收盘价亏损3%以上,则卖出;
请问如何实现对历史数据的回测,非常感谢!
账户资金平均分配,是如何定义的,比如1/10 满足10个股票,用总资金去平均分配买入,那1/11 又满足了20个股票呢,如何操作?还是没资金就不用买入了?
账户资金平均分配如下定义的:
例如账户资金100万,这里面的用的是账户的资产,不是可用资金
如果满足的股票有10只,就每只股票买入100/10
如果满足的股票有12只,就每只股票买入100/12
如果满足的股票有20只,就每只股票买入100/20
[此贴子已经被作者于2019/3/26 10:23:12编辑过]
当满足股票有10只时,账号资金已经全部用完了,又出现2只满足条件的股票是,是先把10只股票仓位全部平掉吗? 要不然没有钱买另外2只啊
很好,问的很专业
我只是举例说明一下我的大致思路,只需告知我该如何实现
具体详细的资金分配思路是这样的:
当每天收盘时计算
如果没有满足条件的股票,则保持持仓不变
如果出现满足条件的股票数有x1只,则判断持仓是否有股票已卖出
如果没有卖出,则保持持仓不变;
如果有卖出,则用y=账户资产/(持仓还剩下的股票只数+出现满足条件的股票数),满足条件的每只股票买入y资金,对于持仓中股票,则卖出大于y市值的部分股票,依次保持持仓中的各股票市值都是均等的。
是因为资金分配的问题吗?
如果是资金分配的问题,我可以用简单的规则,就是每周五全卖,然后重新买入满足条件的股票
那我改一下资金分配规则,您看看能实现吗?
每次买入时是按资产/满足买入的股票数,下次判断如果有满足股票的条件进来,先把持仓全卖掉,再按新满足的股票数平均分配资金买入