硬核技术篇:Python实现神奇九转,一分钟选出股票

网络空间安全

  话不多说,先直接上代码:

  #!/usr/bin/python3# -*- coding:utf-8 -*-'''神奇九转'''import pandas as pdimport numpy as npimport os#仅对近一个月(即20个交易日)的数据进行分析,因为九转最多也就13个交易日,分析近一个月是为了回测数据#选股def dress(): list_code = [] for j in os.listdir('data'): print(j,'开始') data = pd.read_csv("data/%s"%j) data = data.iloc[:20] data_close = data.close.values for i in range(len(data_close)-4): for k in range(9): if i+k+4<len(data_close): if data_close[i+k] < data_close[i+k+4]: if k == 8 and i==0: print(j,data.trade_date.values[i],'进入观察期') list_code.app(j[:-4]) continue else: break print(j,'完成') print(set(list_code)) #回测,主要看出现九转买入信号候,第二天以开盘价买入,然后在接下来的5个交易日内高点卖出,看是否亏损和收益多大def back_testing(): list_code = {} for j in os.listdir('data'): print(j,'开始') data = pd.read_csv("data/%s"%j) data = data.iloc[:20] data_close = data.close.values data_high = data.high.values data_open = data.open.values for i in range(len(data_close)-4): for k in range(9): if i+k+4<len(data_close): if data_close[i+k] < data_close[i+k+4]: if k == 8 and i>=6: buy = data_open[i-1] sell = max(data_high[i-6:i-2]) #出现买入信号候第二天以开盘价买入,看一周之内是否有合适卖出机会 list_code[j[:-4]] = str(round((sell - buy)*100/buy,2))+'%' continue else: break print(j,'完成') print(list_code) print('最大收益:',str(max([float(i[:-1]) for i in list(list_code.values())]))+'%') print('最小收益:',str(min([float(i[:-1]) for i in list(list_code.values())]))+'%') print('平均收益:',str(round(sum([float(i[:-1]) for i in list(list_code.values())])/len(list(list_code.values())),2))+'%')#back_testing()#dress()以上代码已经上传到我的github,小伙伴们可以到下方链接直接下载使用https://github.com/yeapllg/stocks/blob/main/magic_nine_turns.py

  下面是我的回测视屏

  视频加载中...

  从回测中可以看出,跑完全市场4000多只股票不到一分钟,最后通过回测发现,如果严格按照规则来买卖,一周内最高收益有52%,最低有0.83%,平均收益6.08%

  从最后这张图来看,大多数收益都在5%左右徘徊,只有极少数的奇高和奇低。

  当然,任何策略也好,方法也罢,选出来的股票也都只是参考,具体还得根据市场当时行情来定,比如提出st股票等等,用程序只是为了节约时间,把需要人工一天才能分析完4000多只股票的时间压缩到1分钟,大大节约时间,同时程序也不会有人为情绪的因素,因此更客观。

  不会编程或者不会运行程序的小伙伴也不用着急,我会每天把程序选出来的结果放到网上。

  【获取方式】:

  程序员:直接拷贝上方代码或者去我的github(https://github.com/yeapllg/stocks/blob/main/magic_nine_turns.py)下载源代码即可。

  非程序员:

  PC端:下载云看盘软件(https://www.yunkanpan.com),在左侧【工具-神奇九转】即可查看。

  APP端:到各大应用市场下载微财讯App,在首页更多里查找并查看结果。

  以上两个工具所看到的结果与直接运行程序产生的结果相同,并且完全免费开放。

  如果小伙伴们对某项策略感兴趣也可以私信告诉我,我抽时间研究研究,然后做成程序分享出来。

  【关于作者】

  策略指南:

  策略篇:每周我都会更新一篇选股策略,详细叙述其内在原理,跟其他网络股票大V不同,也许他们会直接告诉你股票,但是他们是怎么选股的,股票是怎么来的完全不会说,但是我这里不同,我这里不会告诉你股票,只告诉你技术指标,策略的内在原理,让小白也能明白其思路,学习,才是我们的最终目标。

  技术指南:

  技术篇:通晓了内在原理,接下来就是如何运用的问题,很多人会拿出每一只股票,然后根据各个指标去判断是否满足,当然,这是一种最原始的方法,可行,但是效率太低,市面上也有很多软件已经帮你选出来了,但是基本上都是付费查看,难免不划算。在这里,我会用Pyhton把我每周提到的技术原理用编程语言来实现,然后免费开放给所有人,会编程的小伙伴可以直接拿我的代码在电脑上运行即可,一分钟就可以选出股票作为参考,不会编程的小伙伴也不用着急,我会将结果放在网上,需要的时候直接去查看即可。源代码可以在我的github主页去下载【https://github.com/yeapllg/stocks】。

标签: 网络空间安全