Python小白量化学习包
小白量化学习-自创指标设计
一、准备工作
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)) * 100
K = SMA(RSV,M1,1)
D = SMA(K,M2,1)
J = 3*K-2*D
return 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) * 100
RSI2 = SMA(MAX(CLOSE - LC, 0), N2, 1) / SMA(ABS(CLOSE - LC), N2, 1) * 100
RSI3 = SMA(MAX(CLOSE - LC, 0), N3, 1) / SMA(ABS(CLOSE - LC), N3, 1) * 100
return 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)
不懂就看我的博客
https://blog.csdn.net/hepu8/article/details/93378543
Visual FoxPro 9.0多媒体三维图形编程(可执行VFP9代码的电子书)
Visual FoxPro 9.0多媒体三维图形编程
Visual FoxPro 9.0多媒体三维图形编程工具包含三部分库函数构成,OpenGL库, DxInput库,DxAudio库等三部分,这三部分合并到DLGame.fll库文件中。
OpenGL(全写Open Graphics Library)是定义了一个跨编程语言、跨平台的编程接口,它用于三维图象(二维的亦可)。
OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 OpenGL不是语言,是专业的图形程序接口。现在Windows系统的主流编译环境有Visual C++/C#,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。今天我把他移植到了Visual Foxpro9中,为喜爱图形设计的狐友带来福音。
OpenGL原函数为C函数,我们通过FLL库,封装到了DLGame.fll库中,大多数函数的名称和定义都和原C函数相同,因此具有很强的移植性。
DxInput库是封装了微软DirectX的DirectInput开发工具库,使键盘,鼠标,游戏杆的控制编程更加高效和简单。这些函数也封装到了DLGame.fll库中
DxAudio库是封装了微软DirectX的DirectAudio开发工具库,DirectAudio包含两部分,DirectMusic和DirectSound。DirectMusic用于播放音效的mid格式文件,通常用于背景音乐。DirectSound用于播放wav格式的音乐文件,一般用于音效效果。通过我们的封装,对音乐编程更加高效和简单。这些函数也封装到了DLGame.fll库中
一般编程语言必须先编译再运行,调试麻烦。VFP有先天的优势,边解释边运行。可以说,程序编写完成就可以通过DO命令运行程序。
完整例子,可以在我们帮助中点红色感叹号运行。
通通股票K线及KDJ,MACD指标显示完整源代码
1、通通股票K线及KDJ,MACD,RSI等指标显示完整源代码。
2、python历史行情读取,切换股票数据及指标公式。
3、跨python版本代码设计思路和实现。
4、模块化设计,自己可以任意扩充。
本演示使用聚宽用户数据。免费行情源获取参考下面我的帖子。
https://blog.csdn.net/hepu8/article/details/81866694
Vfp三维迷宫
Visual Foxpro 9.0设计多媒体程序的一个完整的例子。使用了OpenGL, DxInput,DxAudio,DxShow等功能。
VFP空战小游戏
Visual Foxpro 9.0设计多媒体程序的一个完整的例子。
使用了OpenGL, DxInput,DxAudio,DxShow等功能。
独狼VFP游戏开发工具
独狼VFP游戏开发工具
独狼VFP游戏开发工具包含三部分库函数构成,OpenGL库, DxInput库,DxAudio库等三部分,这三部分合并到DLGame.fll库文件中。
OpenGL(全写Open Graphics Library)是定义了一个跨编程语言、跨平台的编程接口,它用于三维图象(二维的亦可)。
OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 OpenGL不是语言,是专业的图形程序接口。现在Windows系统的主流编译环境有Visual C++/C#,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的。今天我把他移植到了Visual Foxpro9中,为喜爱图形设计的狐友带来福音。
OpenGL原函数为C函数,我们通过FLL库,封装到了DLGame.fll库中,大多数函数的名称和定义都和原C函数相同,因此具有很强的移植性。
DxInput库是封装了微软DirectX的DirectInput开发工具库,使键盘,鼠标,游戏杆的控制编程更加高效和简单。这些函数也封装到了DLGame.fll库中
DxAudio库是封装了微软DirectX的DirectAudio开发工具库,DirectAudio包含两部分,DirectMusic和DirectSound。DirectMusic用于播放音效的mid格式文件,通常用于背景音乐。DirectSound用于播放wav格式的音乐文件,一般用于音效效果。通过我们的封装,对音乐编程更加高效和简单。这些函数也封装到了DLGame.fll库中
一般编程语言必须先编译再运行,调试麻烦。VFP有先天的优势,边解释边运行。可以说,程序编写完成就可以通过DO命令运行程序。
完整例子,可以在我们帮助中点红色感叹号运行。