作者:ファンタジーグッド
出典: Hang Seng LIGHT クラウド コミュニティ
この記事は主に、Fama-French 3 要素モデルに必要なデータ ソースを取得するための Hengyoushu コミュニティのプロセス実践に基づいています。
Fama-French 3 要素モデルの概要
ファーマ・フランス三要素モデル(以下、「三要素モデル」という)は、1990年代初頭にファーマとフレンチによって提案され、理想的な状態では資産の超過収益は市場収益で構成されると考えています。 、スケールが返される、値が返されるという部分で構成されます。
データソースの収集プロセス
恒常集プラットフォームの登録
ヘンギョウシュ プロフィール
Hengyoushu Financial Data Community ( https://udata.hs.net ) は、Hang Seng の金融データのオープンかつ可視化されたコミュニティから生まれ、クオンツ投資愛好家、金融実務家、大学の教師や学生、政府機関や金融メディアなどに提供することを目的としています。 Crowd は、さまざまなユーザーの多様なデータ分析と投資調査のニーズを満たす専門的な金融データ サービスを提供します。
Hengyoushu は、株式、ファンド、債券、オプション先物、香港株式をカバーする財務データを提供します (データ カタログについては付録 1 を参照)。ユーザーが便利かつ迅速にデータを取得できるように、オンライン プレビュー、オンライン ダウンロード、オンライン デバッグ、シンプルで効率的な API インターフェイス (インターフェイス言語には HTTP、Python、MATLAB、Java が含まれます)、豊富なインターフェイス ドキュメントとヘルプ ドキュメントなどの機能を提供します。
今後も恒業酒はプロフェッショナルデータの拡充、製品機能の向上、サービス能力の継続的な向上に努めてまいります。
Hengyoushu プラットフォームに登録してログインし、データ インターフェイス リクエスト トークンを取得します (アドレス: https://udata.hs.net/console/overAllView)。
必要なデータソースを取得する
要件に従って、次のデータ フィールドを取得する必要があります。
- 取引日: 取引日
- 始値:当日の株価の始値
- 最高値:その日の株式取引の最高値
- 最安値: その日の株式取引の最低価格
- 終値: 株式の終値
- 証券コード: 株式のコード。上海株は sh で終わり、深セン株は sz で終わります。
- 増減:復帰後の真の正確な増減
- 出来高:その日の株式の出来高
- 出来高: 当日の在庫出来高
- 時価総額:当日の株価の合計
- 回転率:当日に売買が行われる銘柄の割合
- 取引するかどうか: 今月の最終取引日に株式を取引するかどうか
- 日次制限はありますか: 今月の最終取引日の終了時に株式に日次制限があるかどうか
- 指値が下限かどうか:今月の最終取引日の株式の終値が下回っているかどうか
- P/E Ratio TTM : 過去 12 か月の株価収益率
- 株価純資産倍率:直近の有価証券報告書における株価純資産倍率、株価/一株当たり純資産
データを取得するために必要なインターフェースは次のとおりです。
- 1.1.2 取引カレンダー ( https://udata.hs.net/datas/200/)
- 取引日の時間を取得する
- 1.2.1 毎日の株価情報 ( https://udata.hs.net/datas/332/)
- 昨日の終値、始値、最高値、最安値、終値、取引高、取引金額などのデータを含む上海と深センの日次市場を取得します。
- 1.2.3 月次株価情報 ( https://udata.hs.net/datas/334/)
- 月前の終値、月の始値、月の高値、月の安値、月の終値、月次取引などのデータを含む、上海と深センの月次市場を取得します。出来高と月間取引額。
- 1.4.27 基本的な評価情報 ( https://udata.hs.net/datas/406/)
- 定期レポートで開示される財務指標を利用して、主に配当率、株価純資産倍率、株価売上高倍率、株価純資産倍率などの指標を含む上場企業のバリュエーション分析を行い、財務指標の同時入力をサポートします。複数の銘柄コード。
データ部のプログラムコードは以下の通りです。
import hs_udata as hs
import pandas as pd
# 获取从开始日期到目前日期的每个月的最后一个交易日
def get_trade_dates(token, start_date):
hs.set_token(token)
trade_date = hs.trading_calendar(secu_market='83',
if_trading_day='1',
if_month_end='1',
start_date=start_date)
return trade_date
# 获取记录A股上市、退市股票交易代码、股票名称、上市状态等信息;
def get_stock_a(token):
hs.set_token(token)
# 默认取全部,1-上市,2-终止;
listed_state = "1"
fields = "secu_code,chi_name,hs_code,secu_market,listed_sector"
stock_datas = hs.stock_list(listed_state, fields)
return stock_datas
# 获取 交易日期 股票行情,公司等信息
def get_stock_month_trade(token, secu_code, trade_date):
hs.set_token(token)
# 获取股票交易信息
# 获取数据:证劵代码,交易日期,开盘价,最高价,收盘价,涨跌幅,成交数量,成交额,换手率,涨跌停状态,交易状态
stock_fields = "prod_code,trading_date,open_price,high_price,close_price,px_change_rate," \
"business_amount,business_balance,turnover_ratio,up_down_status,turnover_status"
stock_data = hs.stock_quote_daily(en_prod_code=secu_code,
trading_date=trade_date,
adjust_way=2,
fields=stock_fields)
# 获取公司估值等信息
# 获取数据:证劵代码,交易日期,总市值,总市值(证监会算法),市净率PB(最新财报,LF),市盈率(最新年报,LYR)
value_fields = "prod_code,total_market_value,total_market_value_zjh,pb_lf,pe_rate_lyr"
value_data = hs.valuation_info(en_prod_code=secu_code,
trading_date=trade_date,
fields=value_fields)
res_data = pd.merge(stock_data, value_data, how='left', on='prod_code')
return res_data
プログラムを実行して得られた結果を図に示します。
要約する
異動集を通じて株式などの財務データを取得する操作は非常に簡単で、財務データ分析などの効率が大幅に向上します。