
Python新手量化学习资料包
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本资料包专为Python初学者设计,涵盖基础语法、数据结构及量化交易入门知识,提供实战案例与代码解析,助您快速上手量化投资。
小白量化学习-自创指标设计
一、准备工作:
1. 将“HP_formula.py”文件复制到个人工程目录。
2. 在新文件开头添加以下4条语句:
```python
import numpy as np
import pandas as pd
from HP_formula import *
import tushare as ts
```
二、数据预处理步骤如下,采用与tushare旧版股票数据格式一致的方式进行处理:
1. 首先对数据进行预处理。
2. 使用tushare获取股票历史K线数据:
```python
df = ts.get_k_data(600080, ktype=D)
```
3. 复制并初始化变量,以便后续操作。
4. 定义相关变量:
```python
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. 删除所有绘制图形相关的代码段落和未分号结尾的行。
四、应用公式并进行可视化
1. 利用RSI指标函数定义:
```python
def RSI(N1=6, N2=12, N3=24):
LC = REF(CLOSE, 1)
RSI1 = SMA(MAX(C - LC, 0), N1, 1) / SMA(ABS(C - LC), N1, 1) * 100
RSI2 = SMA(MAX(C - LC, 0), N2, 1) / SMA(ABS(C - LC), N2, 1) * 100
RSI3 = SMA(MAX(C - LC, 0), N3, 1) / SMA(ABS(C - LC), N3, 1) * 100
return RSI1, RSI2, RSI3
```
2. 使用RSI指标函数并绘制图形:
```python
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 # 上轨道
mydf[X20] = 20 # 下轨道
# 显示最后100条数据
mydf=mydf.tail(100)
# 绘制图形
import matplotlib.pyplot as plt
plt.plot(mydf.S80, label=S80)
plt.plot(mydf.X20, label=X20)
plt.plot(mydf.RSI1, label=RSI1, legend=True)
plt.plot(mydf.RSI2, label=RSI2, legend=True)
```
全部评论 (0)


