以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  股票模型测试提问  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=168983)

--  作者:lance0307
--  发布时间:2019/3/26 10:10:19
--  股票模型测试提问
你好
我有一个股票模型逻辑,请教一下如何在金字塔下能实现历史回测
测试时间20100101-20190301
测试周期 日线

模型逻辑如下:
买入条件:
1:测试从开始日期开始滚动测试,选取当时所有A股且上市日期大于6个月时间,剔除ST股票 
       1.1 在满足上面条件的股票里面,再对每一只股票进行一个指标A的计算,选取满足指标A的股票,并记录满足的股票数量x,将账户资金/x(平均分配),对每一只股票买入1份资金,以当日收盘价买入;


卖出条件:
1:日K线的收盘价跌破20日均线,则卖出;
2:日K线的指标B满足时,则卖出;
3:日K线的收盘价亏损3%以上,则卖出;

请问如何实现对历史数据的回测,非常感谢!

--  作者:banzhuan
--  发布时间:2019/3/26 10:19:15
--  
账户资金平均分配,是如何定义的,比如1/10 满足10个股票,用总资金去平均分配买入,那1/11 又满足了20个股票呢,如何操作?还是没资金就不用买入了?
--  作者:lance0307
--  发布时间:2019/3/26 10:22:06
--  
账户资金平均分配如下定义的:

例如账户资金100万,这里面的用的是账户的资产,不是可用资金

如果满足的股票有10只,就每只股票买入100/10
如果满足的股票有12只,就每只股票买入100/12
如果满足的股票有20只,就每只股票买入100/20


[此贴子已经被作者于2019/3/26 10:23:12编辑过]

--  作者:banzhuan
--  发布时间:2019/3/26 10:41:51
--  
当满足股票有10只时,账号资金已经全部用完了,又出现2只满足条件的股票是,是先把10只股票仓位全部平掉吗?  要不然没有钱买另外2只啊
--  作者:lance0307
--  发布时间:2019/3/26 10:54:23
--  
很好,问的很专业

我只是举例说明一下我的大致思路,只需告知我该如何实现

具体详细的资金分配思路是这样的:

当每天收盘时计算
     如果没有满足条件的股票,则保持持仓不变
     如果出现满足条件的股票数有x1只,则判断持仓是否有股票已卖出
            如果没有卖出,则保持持仓不变;
            如果有卖出,则用y=账户资产/(持仓还剩下的股票只数+出现满足条件的股票数),满足条件的每只股票买入y资金,对于持仓中股票,则卖出大于y市值的部分股票,依次保持持仓中的各股票市值都是均等的。


--  作者:banzhuan
--  发布时间:2019/3/26 11:17:29
--  
抱歉,这个实现不了
--  作者:lance0307
--  发布时间:2019/3/26 11:20:51
--  
是因为资金分配的问题吗?

如果是资金分配的问题,我可以用简单的规则,就是每周五全卖,然后重新买入满足条件的股票

--  作者:banzhuan
--  发布时间:2019/3/26 11:33:20
--  
对,回测中资金平均分配不太好实现
--  作者:lance0307
--  发布时间:2019/3/26 11:55:56
--  
那我改一下资金分配规则,您看看能实现吗?

每次买入时是按资产/满足买入的股票数,下次判断如果有满足股票的条件进来,先把持仓全卖掉,再按新满足的股票数平均分配资金买入



--  作者:banzhuan
--  发布时间:2019/3/26 13:03:43
--  
难点就在资金的分配上,不太好实现,因为是动态的