
APIで20年分の日足データ取得
e支店のAPIのサンプルコードを書いています。サンプルコードは仕事としてでなく、休日や空き時間に書いています(笑
このnoteも、もちろん個人の愉しみで書いています(笑
立花証券e支店のAPIで、少し前から20年分の日足データを取得できるようになりました。時価配信用サーバーの分離・増強で可能になったそうです。
案内は、APIサービス更新情報の「2022-12-06 株価の日足データの取得について」です。
仕様は以下の様になります。
要求
1 sCLMID CLMMfdsGetMarketPriceHistory
2 sIssueCode 対象の銘柄コード、1要求1銘柄指定。
3 sSizyouC 対象の市場コード(現在"00":東証のみ)、引数省略可能(デフォルト=東証)。
応答
No 項目 設定値
1 sDate 日付(YYYYMMDD)
2 pDOP 始値
3 pDHP 高値
4 pDLP 安値
5 pDPP 終値
6 pDV 出来高
7 pDOPxK 株式分割換算係数で計算した該当値
8 pDHPxK 株式分割換算係数で計算した該当値
9 pDLPxK 株式分割換算係数で計算した該当値
10 pDPPxK 株式分割換算係数で計算した該当値
11 pDVxK 株式分割換算係数で計算した該当値
12 pSPUO 株式分割前単位 ※株式分割日のみ設定
13 pSPUC 株式分割後単位 ※株式分割日のみ設定
14 pSPUK 株式分割換算係数(pSPUO/pSPUC) ※株式分割日のみ設定
sCLMIDにCLMMfdsGetMarketPriceHistoryをセット。
銘柄コードと、市場を送るだけ。
期間指定や、複数銘柄指定はありません。極めてシンプルな仕様です。
電文のサンプルは下の様になります。
JSON要求電文
{
"p_no":"2",
"p_sd_date":"2022.11.22-14:36:41.028",
"sCLMID":"CLMMfdsGetMarketPriceHistory",
"sIssueCode":"7071",
"sSizyouC":"00",
"sJsonOfmt":"5"
}
JSON応答電文
{
"p_sd_date":"2022.11.22-14:36:41.439",
"p_no":"2",
"p_rv_date":"2022.11.22-14:36:41.332",
"p_errno":"0",
"p_err":"",
"sCLMID":"CLMMfdsGetMarketPriceHistory",
"sIssueCode":"7071",
"sSizyouC":"00",
"aCLMMfdsMarketPriceHistory":
[
{
"sDate":"20191009",
"pDOP":"4260",
"pDHP":"4450",
"pDLP":"4000",
"pDPP":"4170",
"pDV":"1863400",
"pDOPxK":"532.5",
"pDHPxK":"556.25",
"pDLPxK":"500",
"pDPPxK":"521.25",
"pDVxK":"14907200"
},
~~~~~~~~
~~~~~~~~
{
"sDate":"20220929",
"pDOP":"2418",
"pDHP":"2502",
"pDLP":"2380",
"pDPP":"2380",
"pDV":"187300",
"pDOPxK":"2418",
"pDHPxK":"2502",
"pDLPxK":"2380",
"pDPPxK":"2380",
"pDVxK":"187300",
"pSPUK":"0.5",
"pSPUO":"1",
"pSPUC":"2"
},
~~~~~~~~
~~~~~~~~
{
"sDate":"20221121",
"pDOP":"2921",
"pDHP":"2944",
"pDLP":"2867",
"pDPP":"2926",
"pDV":"302800",
"pDOPxK":"2921",
"pDHPxK":"2944",
"pDLPxK":"2867",
"pDPPxK":"2926",
"pDVxK":"302800"
}
]
}
マニュアルは、
「e支店・API、ブラウザからの利用方法」(api_web_access.xlsx)
シート「マスタ・時価」
2-2.各I/F説明
(3)蓄積情報問合取得I/F
になります。
サンプルコードは、e支店APIのGitHubの「e_api_get_histrical_price_daily.py」
を参照してください。
APIで株取引がもっと便利になるといいですね。
サンプルコードから抜き出して、手抜きで 手軽に書いてみました。
サンプルコードを作ったのは私なので、コピペ記事でも問題ないです(笑
ところで、ずっと事務の仕事をしてきた私が、なぜサンプルコードを書くことになったかです。
APIを開発している人達は、開発スケジュールが、ぎっちぎっち。
外部SEの方にお願いする案も出たそうです。
しかし株取引のことを知らないため、教えるのに手間と時間が掛かるためボツになったそうです。
で、株取引について多少分かっている私に声が掛かったようです。
株取引は多少知っているとはいえ、プログラミングは長野オリンピックの頃にAccessのVBAで仕訳のプログラムを作った程度。
もう大昔の話です。
もう素人同然。
というより単なる素人です。
当然断ったのですが、うまく口車に乗せられ・・・
泥沼の開発の記憶が、20年の経過で「あの頃は楽しかったなー」と書き換えられていたのが敗因です(笑
サンプルプログラムは、ニーズの高いPythonで作って欲いとのことでした。
お陰でPythonの勉強を一から始めることになりました。
・・・なんだかんだ言ってもプログラミングは楽しいですね(笑