3分钟手把手写出python量化交易策略副图插件

941 阅读6分钟

本教程适简单易懂合小白入门,但会写策略不代表就能去交易,交易也不一定就能赚钱,入市有风险交易需谨慎!

量化交易

量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。

在人工智能技术飞速发展的今天,量化技术非常受到资本青睐。不论是散户还是专业人士,掌握基本量化知识是很有必要的。这年代谁炒股谁还手动分析啊没人吧

基本语法

函数

技术面函数种类非常多但是都很好理解,大致有引用函数、形态函数、资金流向函数、交叉信号函、序列行情函数等。 这里以形态函数PEAKBUY举例

PEAK
类型:形态函数
功能:波峰值
描述:前M个[ZIG]转向波峰值。  
用法:(K,N,M) 表示之字转向[ZIG]的前M个波峰的数值,M必须大于等于1。  
例如:(1,5,1) 表示%5最高价[ZIG])转向的上一个波峰的数值。
BUY
类型:交易信号函数
功能:买入开仓
描述:多头建仓(买入开仓)。  
参数1为触发条件,参数2为标记放置位置  
例如:BUY(CROSS(A,B),LOW)当A上穿B时,在LOW处画标记,同时突出提示或直接下单,如果LOW改为DRAWNULL,就不画标记。

操作符

这很好理解,+ - * /, :=表示赋值, !=, AND, && 等这些都是常规操作符。

线性属性

定义画线的形态,比如颜色粗细形态等,以下是常见的属性

COLOR        # 颜色
COLORBLUE    # 蓝色
COLORYELLOW  # 黄色
COLORWHITE   # 白色
LINETHICK    # 线条粗细
STICK        # 柱状线
LINESTICK    # 同时画柱状线和指标线
NODRAW       # 空线条

财务数据

财务数据是以按一个以升序数字序列为 key,对应财务数据为 value 的字典。

0 返回报告期
1 基本每股收益
2 扣除非经常性损益
3 每股未分配利润
4 每股净资产
5 每股资本公积金
6 净资产收益率
...

策略代码语法

逻辑很简单就不解释了,注意:=表示赋值就可以了。

ps本文只讨论代码技术不推荐股票所以参数都是随便写的,不具备参考价值

**  常见选股指标公式 ** 
ZQE:=EXIST(ZQ,5);                       # N天内出现以涨幅大于7%收盘 
ZWHW:=CLOSE>REF(CLOSE,1)*1.05 AND VOL/CAPITAL>0.05; # 以涨幅大于5%收盘且换手超过5% 
ZWHWE:=EXIST(ZWHW,5);                   # N天内出现以涨幅大于5%收盘且换手超过5% 
HQ:=VOL/CAPITAL>0.07;                   # 换手超过7% 
HQE:=EXIST(HQ,5);                       # N天内出现换手超过7% 
DTSZ:=CLOSE>REF(CLOSE,1)*1.015;         # 当天涨幅超过1.5% 
DYNAINFO(17)>0                          # 剔除停牌股 
FINANCE(33)>0 AND FINANCE(34)>0 AND FINANCE(18)>0 AND FINANCE(32)>0 AND FINANCE(25)>0 # 每股收益、每股净资产、每股公积金、每股未分利润、经营性现金流量大于零 

使用策略

常见股票app比如通达信、东方财富等都可以用。(win可以,mac不支持)这里以通达信为例,点击icon区域,新建一个指标,取个名字,然后点击编辑icon,把写好的策略公式复制黏贴进去。大功告成。

个股界面 个股界面 个股界面

选择自己的策略以后就会在主图下面生成一个副图,比如我用颜色判断买入卖出信号,这样可以快速判断一支股票是是否通过自己的策略筛选,以及当前传递的信号讯息。

如果大家想写选股策略,那工程量稍微大些,需要先找到数据源API,调用接口消费实时数据或者缓存数据到本地,然后上python策略脚本,但这样的问题有两个,第一速度太慢,phthon是出了名的慢,现在A股市场4900+股票,等全部分析完早就错过买点/卖点了。第二个数据有延迟性,即使是付费API也会限制高频率请求。所以这个方案可行性不高。

技术面 VS 基本面

代码只是提高选股效率的一种方式,核心是方法论。所有投资产品,包括但不限于股票、基金、债券、外汇、黄金、期货、金融衍生品甚至虚拟货币的分析方法不外乎两大类,技术面基本面

技术面是定量分析,分析过程需要大量数据支撑,运用统计学和运筹学等数学理论总结归纳股票的数据之间的关联,比如成交量和成交价格之间的正负相关性等。这些数据指标劝退了不少炒股小白,但其实原理都很简单,比如最常用的MA (Moving average 移动平均线), MA是用来反映价格变动趋势的一种指标,顾名思义它是个平均数,那平均啥呢?它平均的是近N天内的收盘价,一般做短线的就分析5天10天的平均收盘价,做中线的可能分析30天或60天的,做长线的分析120天或180天的。

基本面就是相对应的定性分析(不完全是,这里是为了方便理解),它主要是从宏观经济、行业发展和公司基本情况比如财务状况等分析公司估值和股价。这种分析方法备受韭菜散户们青睐。(这里没有任何贬义的意思,毕竟我本人也是韭菜)基本面分析要做的就是每天积极关注宏观政策、财经新闻、可能还会关注某知名基金经理或者某游资大V的理论。极少数有专业金融知识背景的股民会分析财务数据,比如流通股本、市盈率、资产负债表等,通过这些数据来预测公司未来的盈利情况进而推测股价变动趋势。

说到基本面就不得不提到著名股神巴菲特,价值投资也有点基本面的意思,但他的玩法是入股/收购小公司培养成大公司再卖掉,这种公司养成类游戏需要大量时间和资金,实在是不适合普通老百姓。再加上现在人们普遍急功近利,连机构也不例外,建议结合当下经济周期和具体市场环境,摸清楚自己的交易喜好,形成自己的交易策略,然后就严格执行交易策略做一个无情的交易机器。

最后

公式不是万能的只是参考,尊重经济周期尊重市场环境,敬畏人性,希望大家理性投资都能吃上肉~

参考

  1. 股票公式
  2. 公式大师