昨天我们学会了安装ta-lib的方法,今天我们来看看如何用shioaji搭配Ta-Lib计算技术指标吧。
首先可以用以下程序码查看TA-Lib所有技术指标的代号,
import talib
talib.get_functions() # 查看TA-Lib所有技术指标的代号
搭配ta-lib 官方文件https://mrjbq7.github.io/ta-lib/doc_index.html, 就可以知道每个技术指标的定义与使用方式。
或是用以下程序码也可以直接查看各个技术指标的用法
talib.SMA?
以下示范如何用要shioaji搭配Ta-Lib计算SMA(简单移动平均线)。
计算技术指标基本上一定会用到K棒,可以用以下方式从shioaji取得1分K,
import shioaji as sj
api = sj.Shioaji(simulation=True)
api.login( #登入模拟帐号
person_id="PAPIUSER02",
passwd="2222",
contracts_cb=print,
)
import pandas as pd
kbars = api.kbars(api.Contracts.Stocks["2330"], start="2021-09-27", end="2021-09-27") #取得2330在2021-09-27的1分K
df = pd.DataFrame({**kbars}) #将资料格式转成dataframe
df.ts = pd.to_datetime(df.ts)
df.head(5)
Low | High | Volume | ts | Close | Open | Amount | |
---|---|---|---|---|---|---|---|
0 | 597 | 600 | 1751 | 2021-09-27 09:01:00 | 597 | 600 | 1.05026e+09 |
1 | 596 | 598 | 131 | 2021-09-27 09:02:00 | 596 | 597 | 7.8192e+07 |
2 | 596 | 597 | 91 | 2021-09-27 09:03:00 | 596 | 596 | 5.4257e+07 |
3 | 594 | 596 | 223 | 2021-09-27 09:04:00 | 594 | 596 | 1.32744e+08 |
4 | 593 | 595 | 250 | 2021-09-27 09:05:00 | 594 | 594 | 1.48505e+08 |
而1分K的计算只需用到收盘价,因此从一分K的dataframe取出收盘价
df['Close']
然後将收盘价丢入talib.SMA中,timeperiod设定为5,即可计算出一分K的5MA
talib.SMA(df['Close'],5)
0 | |
---|---|
0 | nan |
1 | nan |
2 | nan |
3 | nan |
4 | 595.4 |
5 | 594.8 |
6 | 594.6 |
7 | 594.2 |
8 | 594.4 |
9 | 595.2 |
今天学会了如何用talib进行指标运算,明天将介绍如何在盘中即时计算技术指标,且当技术指标达到我们的要求时,自动送出通知到line里。
<<: [Day 17] 阿嬷都看得懂的程序码编辑器与开源软件是什麽
今天要介绍netmask,是可以让我们自由转换各种不同表示类型的网路地址以及子网遮罩,在划分子网路的...
在组织经营过程,除了组织能将本身资源/资产运用得当,持续产出商品/提供服务以创造价值(营收),在经营...
身为并发(concurrency)小能手的 Go 的重要特色 有了 channel 好像几乎不需要...
IAM 简介 经过昨天已经设定好了的GCP SDK後,可以开始进入云端世界上的正题溜,首先开始使用G...
print 'Hello world!' #你就会看到你的第一个程序 Hello world 这就是...