iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
Mobile Development

使用 Swift 和公開資訊,打造投資理財的 Apps系列 第 12

D12 - 用 Swift 和公開資訊,打造投資理財的 Apps { 加權指數K線圖分析 }

  • 分享至 

  • xImage
  •  

K 線現在用在各種投資市場,不只是股市。最早從米市交易開始,現在任何有價格波動的地方,都會有人用 K 線來表示價格走勢。黃金、石油、甚致是近幾年才出現的比特幣,都可以用 K 線來表示。

一根 K 線的組成,要有四個數值:開、高、低、收。組成如下,來源是 Wiki

wiki: https://zh.wikipedia.org/wiki/K线

https://ithelp.ithome.com.tw/upload/images/20210921/20140622JnJ4fqxEhC.png

在台灣、中國、日本習慣是紅漲綠跌,但如果你用的 app 是看美股,那有可能就是綠漲紅跌,和台灣是不同的,這一點請注意。不然用相同的分析視角來看,沒注意顏色的不同,可能會出現不同的走勢預判。

酒田戰法

大約兩百多年前,日本的本間宗久,在大阪的米市,使用這樣的技術分析,獲得了大量的利潤。接著移動到江戶,同樣也用了這一套放法,賺了很多的錢。然後編寫了一套「酒田戰法」,我看了日文 wiki 的網站,一開始只有酒田五法,但現在的中文網站,查起來是酒田72法,因為文獻上已有出入,所以這邊只簡單提一下,距離本間宗久的時代,已經超過二百年了,我想那個時代的 K 線型態,和這個時代的是不是一樣,實在很難說,這一系列的重點還是在製作 App,所以酒田五法就列出來就好,如果做到最後還有時間,也是可以用程式來跑一下,這個時代的 K 線型態,酒田戰法的勝率是多少成。

以下用酒田五法中的三兵舉例,當 K 線出現特定型態的時候,那後續走勢在當時(兩百年前的米市)會有高機率往箭頭的方向走。

https://ithelp.ithome.com.tw/upload/images/20210921/20140622MtmqBH45Aj.png

https://ithelp.ithome.com.tw/upload/images/20210921/201406224EYuBryroJ.png

這三根陽線和第一張圖的陽線不同的地方,就是他有上影線,而且上影線很長。如果三根連續的陽線,但是有長長的上影線,在酒田戰法中,會視為漲勢的結束。

https://ithelp.ithome.com.tw/upload/images/20210921/20140622pGy7Ft7LB9.png

這一階段的目標,選擇台灣股市加權指數來做為 K 線的練習。

預計做出來如 Yahoo 一樣的 K 線圖,不含查價線。

https://ithelp.ithome.com.tw/upload/images/20210921/20140622ZUMt8nwfYz.png

我們先看一下載的 URL 和拿到的資料,可以看到後面的 date 需要輸入的格式是 yyyyMMdd

https://www.twse.com.tw/en/indicesReport/MI_5MINS_HIST?response=csv&date=20210907

所得到的 response CSV 檔,用 Numbers 或 Excel 打開會長這樣。

https://ithelp.ithome.com.tw/upload/images/20210922/20140622LGVh6eL9M0.png

分析:

  • 我們要拿全部的欄位 [Date], [Opening Index], [Highest Index], [Lowest Index], [Closing Index]
  • 這一份 csv 檔下載英文版就會是 UTF8 編碼,下載中文版的會是 Big5 編碼,所以下載英文版在開發上比較快,也比較安全。欄位用中文是一個很恐怖的事情。
  • csv 檔第一行也要去掉,但 CSVAdapter 已經寫好 func 了,直接使用就行。
  • Date 格式和申購資料的 csv 不同,用的是西元年,而不是民國年。這邊的 DateUtiliy 在解析的時候,使用 isoCalendar 就行了。
  • 把日期換成 20210901、20210902,都會拿到一樣的 csv 檔案。但輸入 20210801、20210831,會拿到八月份的資料,所以只要換成 n 年 n 月的第一天,你就可以拿到該月份的資料。
  • 單純拿當月的資料,有可能資料量不夠,以 0906 為例,只有 4 天的 K 棒。很難判斷出有效的資訊,所以除了當月的資料以外,還要拿上個月的資料,這樣 K 線的數量才能達到可分析的程度。

上一篇
D11-用 Swift 和公開資訊,打造投資理財的 Apps { 台股申購實作.4 - 用 Calendar 物件處理台灣的民國年}
下一篇
D13 - 用 Swift 和公開資訊,打造投資理財的 Apps { 加權指數K線圖實作.1 }
系列文
使用 Swift 和公開資訊,打造投資理財的 Apps37
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言