【D9】厨具熟练後制作精致:使用历史资料的Kbar做MA(移动平均线)图

前言

当熟悉了历史资料,发现有更厉害的K线,这时候就要善用工具,好好的料理资料一番,这次我们来用K线制作20MA图吧!

本日程序码使用:d9_kbar.ipynb


K线

直接看Kbars的Class资料,可以看到他的类别属性(Class attribute)有tsOpenHighLowCloseVolumn,分别表示k线时间、开、高、低、收、量。

class Kbars(BaseMapping):
    ts: typing.List[int]
    Open: typing.List[float]
    High: typing.List[float]
    Low: typing.List[float]
    Close: typing.List[float]
    Volume: typing.List[int]

看到这些後,直接拿资料看最准,这次也是拿台积电(2330)的来看:

kbars = api.kbars(api.Contracts.Stocks["2330"], start="2021-09-15", end="2021-09-23")
df = pandas.DataFrame({**kbars})
df.ts = pandas.to_datetime(df.ts)

print(df.tail())

可以看到结果是:

                      ts   High  Close    Low  Volume   Open
1329 2021-09-23 13:26:00  589.0  589.0  589.0       0  589.0
1330 2021-09-23 13:27:00  589.0  589.0  589.0       0  589.0
1331 2021-09-23 13:28:00  589.0  589.0  589.0       0  589.0
1332 2021-09-23 13:29:00  589.0  589.0  589.0       0  589.0
1333 2021-09-23 13:30:00  588.0  588.0  588.0    3606  588.0

所以永丰证的API提供的是一分钟的k线

画K线图

运用1分K线来画图,看看呈现的结果如何。

安装套件

首先别忘记安装matplotlib、ipykernel

pipenv install matplotlib
pipenv install ipykernel --dev

画MA线图(移动平均线)

先来看看我们的图片,如果只接画出来会变成怎样。

df.plot(x="ts", y="Close")

https://ithelp.ithome.com.tw/upload/images/20210923/20103826242mMOfV51.png

做线图,我们用rolling(),这代表滚动的值,然後给予要滚动的资料长度-20笔资料-以及区间单位-1单位-,然後再用mean()算平均,这样就可以得到一个值罗,之後串在一起就可以画成一张趋势线图(详细可参考之前系列的文章)。

# 近20分收盘价图
close_price_20 = df["Close"].rolling(20, min_periods=1).mean()
close_price_20.plot()

https://ithelp.ithome.com.tw/upload/images/20210923/20103826L4Vg9sz2aW.png


後记

虽然是分K,但是也可以制作成日K、周K等等。他们提供还满完整的资料,除了tick,连K线都准备好,真的还满方便的!


<<:  #9 Web Crawler 2

>>:  Day8 撰写JSX

[Tableau Public] day 6:尝试制作不同种类的报表-3

第六天,星期一,打起精神fighting~ 参考的资料来源一样是 day 4 的「Our World...

【D22】制作讯号灯之反思:观察讯号灯与9/22大盘关系

前言 今天加权指数开低,维持一个大跌,来观察讯号灯和大盘、个股的关系,来验证我们的讯号灯能不能参考。...

爬取instagram留言 - Selenium

这边我是打API爬的,所以先写了序列化: class IgCommentsSerializer(se...

From Engineering to Business

On the way from an engineer to transfer to a Busin...

[Q&A] 04 专案必要文件难产

资讯安全管理制度运行会产出一系列的文件化纪录,着也是稽核程序中可能会发现的不合理之处。 其中,在风险...