見出し画像

APIで20年分の日足データ取得

e支店のAPIのサンプルコードを書いています。サンプルコードは仕事としてでなく、休日や空き時間に書いています(笑
このnoteも、もちろん個人の愉しみで書いています(笑

e支店APIで、少し前から20年分の日足データを取得できるようになりました。時価配信用サーバーの分離・増強で可能になったそうです。
案内は、下になります。


仕様は以下の様になります。

要求
 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の勉強を一から始めることになりました。

・・・なんだかんだ言ってもプログラミングは楽しいですね(笑


この記事が気に入ったらサポートをしてみませんか?