[Day 6] 从零开始的股票预测 - 准备资料

一、前言

在开始实验前,我们首先需要决定输入资料的型态,昨天说过了资料可分为

  • 股价类型的「技术面」
  • 营运类型的「基本面」

我们暂时先不看「基本面」资料,把重点放在「技术面」资料上。

二、技术资料一览

  • 开盘价(Open)
  • 最高价(High)
  • 最低价(Low)
  • 收盘价(Close)
  • 买卖价差(Spread)
  • 成交量(Trading_Volume)
  • 成交金额(Trading_money)
  • 交易笔数(Trading_turnover)

三、取得资料

还记得前天的FinMind
我们稍微修改一下,改成取得ETF50的1月至8月的股票资料。

import pandas as pd
import datetime
import requests

etf50_df = pd.read_csv("data/ETF50.csv")
etf50_id = etf50_df.loc[:, "STOCK_ID"].astype(str)

frames = []
for id in etf50_id:
    url = "https://api.finmindtrade.com/api/v4/data"
    parameter = {
        "dataset": "TaiwanStockPrice",
        "start_date": datetime.datetime(2021, 1, 1, 0, 0).strftime("%Y-%m-%d"),
        "end_date": datetime.datetime(2021, 8, 31, 0, 0).strftime("%Y-%m-%d"),
        "data_id": id,
    }

    data = requests.get(url, params=parameter)
    data = data.json()
    df = pd.DataFrame(data["data"])

    frames.append(df)

result_df = pd.concat(frames)
result_df = result_df.reset_index(drop=True)

result_df.to_csv("data/2021-08-31-etf50-tech.csv", index=False, header=True)
result_df.head()

四、就这样?

是的,今天的文章到这边就结束了,
一来昨天的论文笔记花了太多时间结果没存稿了,
二来今天有个白痴花太多时间研究技术指标,结果原本要做的资料清理来不及做。

往好的方面想,现在有存稿了...

总而言之,之後开始做资料清理,我们明天见。

参考


<<:  第六天:在 Windows 上安装 Gradle

>>:  第六天:首次启动设定

C# 入门之数据类型与运算符

数据类型 在 C# 中,支持多种数据类型,不过我们常用的一般有三大类,一种是数值类型,一种是字符类型...

EDRM(电子发现参考模型)

-电子发现参考模型 证据开示,在英美法关系法域中,是诉讼中的一种预审程序,当事人通过民事诉讼法,可...

day 23 - 取号机 AUTO_INCREMENT(MYSQL) > INCR(Redis) > snowflake演算法

取号机制是专案中很常会使用到的项目。在我们的生活中小到饮料店的取餐单、银行的号码牌, 大到公文系统的...

[ Day 23 ] Redux 中的核心概念

上一篇 Day 22 我们已经了解了何谓 Redux 以及该套件的三大原则,今天就要来为大家介绍在...

[Day-24] 小练习十进制转二进制

今天要来练习的是 二进制转十进制的练习 程序码: #include<iostream> ...