下载
登录/ 注册
主页
论坛
视频
热股
可转债
基金
下载
下载

涨停板龙头战法的通用回测量化基础(编程)

23-07-15 20:36 778次浏览
月几又土
+关注
博主要求身份验证
登录用户ID:
量化回测的数据支持就是在于历史上已经发生的事情,比方说股票的某个概念,如果我们处在这个时间里,也许还不知道他具有这样的概念,但是只要是历史上发生的事情,过后都会增加这个概念。不会让人处于朦胧中或者推测中。


有了这个支持,我们就可以用科学的逻辑来回测量化能打破盈亏平衡点的所有策略。


比方说龙头战法,网络上流传的所谓的龙头战法很多都是跟股票概念相关的。概念嘛,无非就是处在这个时间里面产生朦胧感罢了。


说逻辑吧,第一 所谓的龙头战法,无非就是几个大方面,

一是日线级别的验证(形态),

二是分时级别的验证(涨停时间,烂板次数,拉升承接,拉升的流畅度,竞价,上板成交量.....等等),

三是技术指标的验证(比方说均线,MACD......等等)

四是概念方面的验证

五是事件方面(重组、业绩等等)

就这五大方面,为什么会是这五大方面?因为这都是可以通过肉眼看到的东西。也就是说是交互的画面。


有了这五大逻辑,我们可以验证所有的龙头战法到底能不能打破盈亏平衡点,从而实现盈利。

这五大回测方面,我们知道日线级别,技术指标方面,概念方面,这三大方面都是最容易验证的在计算机学里面。因为就是数据,比方说日线 本质就是个形态组合罢了。 技术指标方面,无非就是指标的相互组合罢了, 概念方面,无非就是个概念的分类罢了,计算机语言说的话,无非就是按照日期分类,相同类别的归类罢了。


分时级别也是同样如此,比方说涨停时间, 编程代码: 连接服务器,调用所有的分时数据,找到所有的涨停价的时间。。

api_hq = TdxHq_API()
api_hq = api_hq.connect(‘119.147.212.81‘, 7709)
连接服务器

比方说历史上002355在2022年6月24日第一次涨停时间:

zttime = df[0][df[1].idxmax()]
这句就是返回第一次涨停的时间


运行得到他第一次涨停的时间



再比如烂板次数,

mx = df[1].max()
lbcs = df[(df[1] == mx) & (df[1] != df[1].shift(-1, fill_value=mx))]
这句就是为了得到他的开板,封板的所有的时间


这就是他所有的开板封板烂板的时间点;


再比如概念方面, 所有的股票软件都支持导出这种落地数据,比方说同花顺 导出后



我们只要把这种概念分类罢了,比方说为了本地测试,我上面的代码里面,把所有的概念都直接按照概念把股票分类到本地,代码

gainian = pd.read_excel(r‘C:\Users\admins\Desktop\Table.xlsx‘, header=None)
gainian.set_index(0, inplace=True)
df0 = gainian[[2]].apply(lambda x: ‘;‘.join(x), axis=0).values[0]
gns = list(set(df0.split(‘;‘)))
for i in gns:
with open(‘C:/Users/admins/Desktop/1000/‘ + i + ‘.json‘, ‘w‘) as f0:
f0.write(json.dumps(get_gn_gl(i, gainian), ensure_ascii=False))

最后得到所有的概念,比方说人工智能




再比如事件方面,无非就是个爬虫得到这个时间段的所有资讯,然后回测下呗。这个方面最难的点无非就是字符串的训练呗,主要是 比方说 内容中包含 ‘重组’这个字眼 如果我们只是把字符分解,得到的数据过多,所以我们最好能够把所有的财经证券字眼单独能放到一个数据库里面较好,然后把字符训练下,得到准确的资讯点罢了。


把上面的所有的数据作为基础数据,然后按照他们龙头战法的定义,去验证回测所有的龙头战法。比方说他们定义的补涨龙,先于板,共震板.......等等所有的龙头战法。


说这些只是为了说明一个简单的策略,比方说我们通过基础数据去回测验证龙虎榜上面的营业或游资,他们参与股票的着重点,比方说某游资说概念,我们就验证他所谓的概念和他的操作是否步调一致。等等。。


其实在大数据时代,他们的操盘方面,是可以通过验证龙虎榜得到他们的着重点的。


我只是提供逻辑,有兴趣的,可以自己去寻找,计算。
打开淘股吧APP
7
评论(5)
收藏
展开
热门 最新
股市小学士

23-08-27 16:43

0
学,感谢
月几又土

23-08-27 14:16

1
仅仅是举个简单例子,, 其实有人说 前面的  那阶梯拉升 怎么计算? 我这是 仅仅要得到他启动的第一次拉升,  你没发现我中间过滤了前面了吗? 假如 直接打印  print(bd), 他首先得到的就是所有的波段数,[[‘09:31‘, 2.35, 2898, 0], [‘09:34‘, 2.35, 1937, 0], [‘09:38‘, 2.4, 4173, 0], [‘09:40‘, 2.45, 3304, 1], [‘09:42‘, 2.48, 2487, 1], [‘09:45‘, 2.56, 12785, 0], [‘09:50‘, 2.49, 515, 0], [‘09:52‘, 2.48, 426, 1], [‘09:56‘, 2.5, 1188, 0], [‘10:02‘, 2.57, 3084, 0]]我 下面的 for 就是为了 得到  他首次启动到涨停价的波段数而已。。

假如  我要更细化 计算, 就是要得到他所有的波数到锁死涨停价的  就4个小时,240个波段数,这点数据 你随便循环下不就得了。这点数据 几毫秒的时间而已。 你眨眼下 都能计算5000个股票了。
月几又土

23-08-27 14:12

1
刚才闲着 我索性就把上面提到的分时数据回测中的 拉升过程的代码 发下吧, 主要是 我们怎么得到历史上 股票的拉升波数,比方说通过语言表达的所谓的 一支穿云箭 等等 分时启动到涨停的 波数问题吧。

这个其实太简单了, 平时我们大数据连续生成结构化图形数据的时候大多数都是借助一些外在的库或者自己写函数,但是股票的这种回测实在是太简单了, 根本不需要借助任何外在的,直接写代码就行了

比方说随便一个股票,历史上, 我们假如就是要得到他是启动后几波拉升到涨停的,如下面这个图,首次到涨停明显是三波到涨停价的


直接代码 就行了 这个 没什么逻辑可言,主要是股票的回测 实在是太TM的简单了


运行后就得到 他三波启动的时间点。
761118

23-07-15 22:09

0
经常看到别人说数据,回测,可惜不会写
迷你版散户

23-07-15 21:22

0
兄好,好久不见
刷新 首页上一页 下一页末页
提交