一、准备工作
1、首先把“HP_formula.py”文件复制到自己的工程目录中。
2、在新文件开始增加下面4条语句。

import numpy as np
import pandas as pd
from HP_formula import *
import tushare as ts

二、对数据预处理
我们采用与tushare旧股票数据格式。

#首先要对数据预处理
df = ts.get_k_data('600080',ktype='D')
mydf=df.copy()
CLOSE=mydf['close']
LOW=mydf['low']
HIGH=mydf['high']
OPEN=mydf['open']
VOL=mydf['volume']
C=mydf['close']
L=mydf['low']
H=mydf['high']
O=mydf['open']
V=mydf['volume']

三、仿通达信或大智慧公式
通达信公式转为python公式的过程。
1.‘:=’为赋值语句,用程序替换‘:=’为python的赋值命令‘=’。
2.‘:’为公式的赋值带输出画线命令,再替换‘:’为‘=’,‘:’前为输出变量,顺序写到return 返回参数中。
3.全部命令转为英文大写。
4.删除绘图格式命令。
5.删除掉每行未分号; 。
6.参数可写到函数参数表中.例如: def KDJ(N=9, M1=3, M2=3):

例如通达信 KDJ指标公式描述如下。
参数表 N:=9, M1:=3, M2:=3
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3
K-2*D;

Python的KDJ公式

def KDJ(N=9, M1=3, M2=3):RSV = (CLOSE - LLV(LOW, N)) / (HHV(HIGH, N) - LLV(LOW, N)) * 100K = SMA(RSV,M1,1)D = SMA(K,M2,1)J = 3*K-2*Dreturn K, D, J

#-----------------------------------

#根据上面原理,我们把大智慧RSI指标改

为Python代码,如下。

def RSI(N1=6, N2=12, N3=24):"""RSI 相对强弱指标"""LC = REF(CLOSE, 1)RSI1 = SMA(MAX(CLOSE - LC, 0), N1, 1) / SMA(ABS(CLOSE - LC), N1, 1) * 100RSI2 = SMA(MAX(CLOSE - LC, 0), N2, 1) / SMA(ABS(CLOSE - LC), N2, 1) * 100RSI3 = SMA(MAX(CLOSE - LC, 0), N3, 1) / SMA(ABS(CLOSE - LC), N3, 1) * 100return RSI1, RSI2, RSI3

四、使用公式并绘图

#假定我们使用RSI指标
r1,r2,r3=RSI()mydf = mydf.join(pd.Series( r1,name='RSI1'))
mydf = mydf.join(pd.Series( r2,name='RSI2'))
mydf = mydf.join(pd.Series( r3,name='RSI3'))
mydf['S80']=80  #增加上轨80轨迹线
mydf['X20']=20  #增加下轨20轨迹线mydf=mydf.tail(100)  #显示最后100条数据线 #下面是绘线语句
mydf.S80.plot.line()
mydf.X20.plot.line()
mydf.RSI1.plot.line(legend=True)
mydf.RSI2.plot.line(legend=True)
mydf.RSI2.plot.line(legend=True)

程序运行结果:

五、聚宽格式与tushare格式互转
可把任何数据格式转换为ts的股票数据,
这样就可以使用任何数据源来处理。
我们这里介绍聚宽数据和与tushare格式互转。

def jqtots(df1):  #聚宽格式转ts格式a=[x.strftime("%Y-%m-%d") for x in df1.index]df1.insert(0,'date',a)df1=df1.reset_index(level=None, drop=True ,col_level=0, col_fill='')  return df1def tstojq(df1):  #ts格式转聚宽格式a=[dt.datetime.strptime(x,'%Y-%m-%d') for x in df1['date']]df1.insert(0,'date2',a)df1=df1.reset_index(level=None, drop=True ,col_level=0, col_fill='')  df1.index=df1['date2']del df1['date2']del df1['date']return df1

通过这2节学习,量化分析的道路已经为你开启了。

独狼荷蒲qq:2775205
通通python量化群:524949939
微信公众号:独狼股票分析

小白量化学习(2)自创指标设计相关推荐

  1. 小白量化学习(4)基本面选股与股票池

    小白量化学习(4)基本面选股与股票池 选股一般有多种方式,传统方式有基本面选股,技术指标选股.目前还有量化分析选股,深度学习选股等等. 一.股票基本面数据获取 我们使用tushare股票数据,做一个基 ...

  2. 小白量化学习(5)建立本地股票数据库

    小白量化学习(5)建立本地股票数据库 为了方便本地离线学习回测,可以在本地建立xbdata目录,存放股票数据. 一.本地建立xbdata目录 为了方便本地离线学习回测,可以在本地建立xbdata目录, ...

  3. 小白量化学习(1)准备环境

    小白量化学习(1)准备环境 一.为什么使用Python做量化平台. (1)Python系统免费,有丰富的资源库,且跨不同操作系统平台. (2)Python语法简单,且吸收了很多计算机语言的优点. (3 ...

  4. 自己做量化交易软件(44)小白量化实战17--利用小白量化金融模块在迅投QMT极速策略交易系统上仿大智慧指标回测及实战交易设计

    自己做量化交易软件(44)小白量化实战17–利用小白量化金融模块在迅投QMT极速策略交易系统上仿大智慧指标回测及实战交易设计 小白量化平台是由若干小白金融模块构成.其中包含行情接收模块,仿通达信大智慧 ...

  5. 自己做量化交易软件(43)小白量化实战16--利用小白量化金融模块在恒生PTrade交易系统(交易端)上仿大智慧指标回测及实战交易设计

    自己做量化交易软件(43)小白量化实战16–利用小白量化金融模块在恒生PTrade交易系统(交易端)上仿大智慧指标回测及实战交易设计 量化产品PTrade(Personalise Trade)交易系统 ...

  6. 自己做量化交易软件(31)小白量化实战5--板块股票池与基本面选股

    自己做量化交易软件(31)小白量化实战5–板块股票池与基本面选股 在小白量化软件中,股票池与板块是一样的,都是股票代码列表.前面博客有零散知识的介绍. 小白量化学习(4)基本面选股与股票池 https ...

  7. 自己做量化交易软件(29)小白量化实战3--跨周期共振

    自己做量化交易软件(29)小白量化实战3–跨周期共振 在第一次世界大战中,一队德国士兵迈着整齐的步伐,通过一座桥,结果把桥踩塌.就桥梁的本身负载能力而言,远远大过这队德国士兵的重量,但由于士兵步调整齐 ...

  8. 自己做量化交易软件(23)小白量化之MetaTrader5自动交易2

    自己做量化交易软件(23)小白量化之MetaTrader5自动交易2 上一篇我们介绍了MetaTrader 5关于交易类的函数功能,这篇文章主要介绍行情获取等方面知识. 一.获取MetaTrader ...

  9. 自己做量化交易软件(41)小白量化实战14--美国17年周期蝉与指标参数设计技巧

    自己做量化交易软件(41)小白量化实战14–美国17年周期蝉与指标参数设计技巧 我们从新闻开始谈投资分析理念. 最近的有新闻介绍美国17年周期蝉,根据科学家的长期监测,每隔十几年,从地下钻出的蝉的数量 ...

最新文章

  1. windows系统解决github.com访问超时
  2. 大数据SQL日常学习——CASE WHEN THEN END用法
  3. 高校数字化建设到底该如何推进?这篇方案值得一看
  4. 原生JS实现简单的淘宝放大镜效果
  5. jq中查找上级_云计算自动化运维之linux-工作中常用命令总结(上)
  6. mybatis 一对一与一对多collection和association的使用
  7. 针对与其他语言的数据交换Model ,添加了 构造函数
  8. python读取sqlserver的数据_Python:使用并发未来进程P读取sqlserver数据
  9. SpringMVC+uploadify文件上传
  10. MongoDB的基本概念与操作
  11. 40-400-035-运维-优化-pt-variable-advisor优化工具
  12. win10鼠标右键拓展(使用vs Code打开)
  13. 理解 Linux 配置文件【转】
  14. 机械革命Z3 Pro测试,从开箱到翻车到上岸到发烧(多图预警)
  15. python turtle库详解_Python turtle库详解
  16. HTML转PDF(Thymeleaf做模板)
  17. 多模块渗透测试框架PTF
  18. 饭店点餐系统的需求分析_酒店评论的情绪分析主题建模
  19. Vue表单设计器的终极解决方案
  20. Python类和包的介绍

热门文章

  1. linux gprs拨号上网路由,linux下用wvdial实现gprs拨号上网
  2. 求人贴:自动驾驶仿真软件研发、开发工程师
  3. 有哪些400以内的蓝牙耳机值得推荐?400元以下蓝牙耳机推荐!
  4. AVP-SLAM 小结: Semantic Visual Mapping and Localization for Autonomous Vehicles in the Parking Lot
  5. 力扣刷题记录-动态规划问题总结
  6. Facebook:情侣杀手?
  7. Photolemur 3下载(全自动照片增强器)v1.1.0.2443中文版
  8. 烈焰mysql数据库_烈焰数据库(MYSQL)的各表类诠释
  9. 自动化测试 selenium工具集介绍以及常用的Webdriver API
  10. [转]Massively Multiplayer Middleware