lsekfe 发表于 2023-3-20 13:35:28

python量化交易策略副图插件的学习捷径

量化交易
  量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。
  在人工智能技术飞速发展的今天,量化技术非常受到资本青睐。不论是散户还是专业人士,掌握基本量化知识是很有必要的。
  基本语法
  函数
  技术面函数种类非常多但是都很好理解,大致有引用函数、形态函数、资金流向函数、交叉信号函、序列行情函数等。
  这里以形态函数PEAK和BUY举例
  PEAK
  类型:形态函数
  功能:波峰值
  描述:前M个转向波峰值。
  用法:(K,N,M) 表示之字转向的前M个波峰的数值,M必须大于等于1。
  例如:(1,5,1) 表示%5最高价)转向的上一个波峰的数值。


  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,把写好的策略公式复制黏贴进去。大功告成。
http://www.51testing.com/attachments/2023/03/15326880_202303171627061wAId.jpghttp://www.51testing.com/attachments/2023/03/15326880_202303171627101aC9M.jpghttp://www.51testing.com/attachments/2023/03/15326880_202303171627131PsH6.jpg
  选择自己的策略以后就会在主图下面生成一个副图,比如我用颜色判断买入卖出信号,这样可以快速判断一支股票是是否通过自己的策略筛选,以及当前传递的信号讯息。
  如果大家想写选股策略,那工程量稍微大些,需要先找到数据源API,调用接口消费实时数据或者缓存数据到本地,然后上python策略脚本,但这样的问题有两个,第一速度太慢,phthon是出了名的慢,现在A股市场4900+股票,等全部分析完早就错过买点/卖点了。第二个数据有延迟性,即使是付费API也会限制高频率请求。所以这个方案可行性不高。
  技术面 VS 基本面
  代码只是提高选股效率的一种方式,核心是方法论。所有投资产品,包括但不限于股票、基金、债券、外汇、黄金、期货、金融衍生品甚至虚拟货币的分析方法不外乎两大类,技术面和基本面。
  技术面是定量分析,分析过程需要大量数据支撑,运用统计学和运筹学等数学理论总结归纳股票的数据之间的关联,比如成交量和成交价格之间的正负相关性等。这些数据指标劝退了不少炒股小白,但其实原理都很简单,比如最常用的MA (Moving average 移动平均线), MA是用来反映价格变动趋势的一种指标,顾名思义它是个平均数,那平均啥呢?它平均的是近N天内的收盘价,一般做短线的就分析5天10天的平均收盘价,做中线的可能分析30天或60天的,做长线的分析120天或180天的。
  基本面就是相对应的定性分析(不完全是,这里是为了方便理解),它主要是从宏观经济、行业发展和公司基本情况比如财务状况等分析公司估值和股价。这种分析方法备受韭菜散户们青睐。(这里没有任何贬义的意思,毕竟我本人也是韭菜)基本面分析要做的就是每天积极关注宏观政策、财经新闻、可能还会关注某知名基金经理或者某游资大V的理论。极少数有专业金融知识背景的股民会分析财务数据,比如流通股本、市盈率、资产负债表等,通过这些数据来预测公司未来的盈利情况进而推测股价变动趋势。
  说到基本面就不得不提到著名股神巴菲特,价值投资也有点基本面的意思,但他的玩法是入股/收购小公司培养成大公司再卖掉,这种公司养成类游戏需要大量时间和资金,实在是不适合普通老百姓。再加上现在人们普遍急功近利,连机构也不例外,建议结合当下经济周期和具体市场环境,摸清楚自己的交易喜好,形成自己的交易策略,然后就严格执行交易策略做一个无情的交易机器。
  最后
  公式不是万能的只是参考,尊重经济周期尊重市场环境,敬畏人性,希望大家理性投资都能吃上肉~

页: [1]
查看完整版本: python量化交易策略副图插件的学习捷径