iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0

一、短線資料(5分線)

讀取需要的Libiary

import datetime
import warnings

import pandas as pd
import requests
from pandas.core.common import SettingWithCopyWarning

warnings.simplefilter(action="ignore", category=SettingWithCopyWarning)
pd.set_option("display.max_columns", None)

撈取Tick資料

stock_date = datetime.datetime(2019, 1, 1, 0, 0)
url = "https://api.finmindtrade.com/api/v4/data"
parameter = {
    "dataset": "TaiwanStockPriceTick",
    "start_date": stock_date.strftime("%Y-%m-%d"),
    "data_id": 2330,
}

data = requests.get(url, params=parameter)
data = data.json()

if data["status"] != 200:
    raise ("Return Error")

if len(data["data"]) == 0:
    continue
   
df = pd.DataFrame(data["data"])

https://ithelp.ithome.com.tw/upload/images/20210918/201415869D7YeEdTr5.png

指定盤中資料、合併時間欄位

df = df.loc[
    (df["Time"] >= "10:00:00") & (df["Time"] <= "13:00:00")
]

df.loc[:, "date"] = pd.to_datetime(
    df["date"] + " " + df["Time"]
)

df.drop(columns=["Time"], inplace=True)

https://ithelp.ithome.com.tw/upload/images/20210918/20141586XPFOc24zH0.png

合併5分內資料

df = df.set_index("date")
deal_price = df["deal_price"].resample("5T").last().ffill()
volume = df["volume"].resample("5T").sum()

df = pd.concat([deal_price, volume], axis=1).reset_index()

https://ithelp.ithome.com.tw/upload/images/20210918/20141586gCP0ncSPAD.png


上一篇
[Day 12] 當沖實驗結果概述
下一篇
[Day 14] 回測分析
系列文
從零開始的套牢生活 - AI股票預測系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言