[Day 10] 从零开始的股票预测 - 基本面

一、基本面

基本面分析是一种证券或股票估价的方法,利用财务分析和经济学上的研究来评估企业价值或预测证券(如股票或债券等)价值的走势。这些被分析的基本资料可以包含一家公司的财务报表和非财务上的资讯,如财货需求成长性的预测、企业比较、新制度的影响分析或人口的改变。它通常和所谓的技术分析相对,技术分析在研究证券价值的趋势时,并不使用到市场本身以外的因素来做预测。

From Wiki

今天要处理的资料有

  • 综合损益表(TaiwanStockFinancialStatements)
  • 资产负债表(TaiwanStockBalanceSheet)
  • 现金流量表(TaiwanStockCashFlowsStatement)
  • 月营收表(TaiwanStockMonthRevenue)
  • 除权除息日

资料来源一样是FinMind

二、综合损益表、资产负债表、现金流量表

这三个资料差不多情形,所以我们把它放一起看

右键开启图片可看超清版

https://i.imgur.com/7uqgXfD.png

昨天的个股三大法人买卖表差不多,
问题点在於这种财报是以季为单位的
所以我们必须把财报扩展成以以日为单位

stock_date_df = temp_df.groupby(["stock_id"]).apply(expand_dates).reset_index().loc[:,
    ["stock_id", "date"]
]

stock_date_df.loc[:, "date"] = stock_date_df.loc[:, "date"].astype(str)
final_df = stock_date_df.merge(
    temp_df,
    how="left",
).ffill()

栏位的部分我们也得把说明文字存起来,
之後如果要解释资料才可以知道该栏位是什麽

index_df = df.loc[:, ["type", "origin_name"]].drop_duplicates("type").reset_index(drop=True)

处理完後资料大约会长这样
https://ithelp.ithome.com.tw/upload/images/20210915/20141586LCAtnA8SSg.png

最後只要剃除些缺值太多的栏位就完工了

TSBS_df = TSBS_df[TSBS_df.columns[TSBS_df.isnull().mean() < 0.8]]
TSBS_df.info(verbose=True, show_counts=True)

注意:DataFrame.info() 在栏位太多时会被卡掉,
需要强制使用完整资料 DataFrame.info(verbose=True, show_counts=True)

三、月营收表

基本上只要把月营收扩充成以日为单位即可,
有兴趣的可以自己试试看,当然最後我会附上完整程序码
https://ithelp.ithome.com.tw/upload/images/20210915/201415861tOeFW4VRI.png

四、除权除息日

我们只需要知道除息日是哪天即可
其他资讯技术面都有给了,不需要额外再放

後来翻回去发现技术面漏了PER、PBR表,之後会补起来

https://ithelp.ithome.com.tw/upload/images/20210915/20141586OE0g8hoWI2.png

五、整合

做法和昨天一样,只是这次出来的是164个特徵的巨无霸

A = TSFS_df.set_index(["date", "stock_id"])
B = TSBS_df.set_index(["date", "stock_id"])
C = TSCFS_df.set_index(["date", "stock_id"])
D = TSMR_df.set_index(["date", "stock_id"])
E = TSDR_df.set_index(["date", "stock_id"])

FI_df = pd.concat([A, B, C, D, E], axis=1).reset_index()

https://ithelp.ithome.com.tw/upload/images/20210915/20141586r0Q74Qz4J9.png

完整程序码

https://ithelp.ithome.com.tw/upload/images/20210915/20141586lbtUEkVVpE.png
From 嘎呗


<<:  需要了解资料结构吗? - DAY 1

>>:  环境建置

Day05 platform channels

编写自定义的平台相关程序码(插件在不同平台的功能实作) Flutter 允许调用相关平台的API,无...

[2021铁人赛 Day01] 前言 and CTF 抢旗赛简介

前言 大家好,我是 catkitchen721 ,或是叫猫厨也可以XD 这是我第二次参加铁人赛,第...

视觉设计(1)

来轻松聊聊 本单元可以视为CSS基础介绍的进阶内容,相对於基础篇会提供更多实用的且更接近实际网页开发...

进击的软件工程师之路-软件战斗营 第十八周

学习进度 Android Studio (以下功能皆为自学) ChipGroup、Chip使用 Sw...

【Day 4】VSCode操作Github提取和推送

在VSCode操作Github提取 *於左方点选 【原始档控制】,点选【•••】 ,点选【提取、推送...