【ぷ】Pythonで為替データを貯める@1Forge
追記:Javascriptのサンプル公開
追記:国通貨だけじゃ無かった
Pythonでスタディー以外で初めて書いたまともなコードになりますよ。ちゃんとIDLE使った。
(;^ω^)いやー新鮮
こちらの記事で、サンプルコードを動かしてデータ取得を試しました。
これを、現実に近いところまで持っていきたいなと思い、リファレンス片手にコーディング。60行程度の小さなコードですが、やっぱ、実際に書いてエラーと睨めっこしないと覚えませんね。丁寧に書いたつもりです。Linuxでも問題無いはず
んで、公開するプログラムは、以下の仕様です。
1Forgeから為替データを取得して、ログファイルに貯めていくというモノです。サーバでの定期動作を想定してます。
常に、新しいデータが1行目に来るようにしてます。
貯めるデータ形式は、JSON形式又は、生テキストデータのいずれかを選択できます(どっちかをコメント外す)
また、ログに貯める量を設定できます(10回分とか)あと、jsonパースの際に各処理系でエラーとならないよう、クオートをダブルに変更してます。設定箇所は以下4つ
_path = " ログファイルまでのパス
_filename = 'market.json’ ログファイル名
_quotes = ['EURUSD’, 'GBPJPY’] APIに問合せる通貨ペア
_loglines = 3 貯めるログ数
あとAPIキーも忘れずに。
json形式の場合は、各取得分を配列として扱えるので便利です。Javascriptからもそのまま利用可能です。json.dumpで保存されてます。
(一応、ログ内容をウェブ経由を想定してJavascriptで動作するか簡単に確認はしたぞの図)
生テキストの場合は、行毎に泥臭い処理が行えます。こういう形式が好きな人も多いでしょう。各行は独立したjsonコードになります。
※該当部分はコメントにしてるので外してください
Pythonコードのダウンロード(Google Drive)
このプログラムを、Cronなんかで1時間毎や1分毎などに起動させて、各時間足でデータが出来上がります。
それを、JavaScriptで読み込んで、そのままグラフにぶっ込んだりできます。
無料枠は日1000回ですからね。
bidとaskは不要な場合は、これで削除できる。json.loadsの下辺りに。
for vl in js:
del vl['bid’],vl['ask’]
追記:Javascriptのサンプル公開
簡単にですが、Pythonで貯めたデータをウェブからの利用を想定してJavascriptコードサンプルを公開します。参考にどうぞ(念の為テストデータも付けました)
Javascriptコード(JQuery版)(Google Drive)
Javascriptコード(JQuery非使用版)(Google Drive)
テストJsonデータ(Google Drive)
追記:国通貨だけじゃ無かった
何気なくデータ見てたら、各国通貨だけじゃなくて、銀や金の先物、ビットコインとかの仮想通貨のレートも取れますね。
XAG:銀、XAU:金、BTC:ビットコイン、ETH:イーサリアム
などなど。
BTCとか75万ですよ。恐ろしい・・。金は1オンスでのお値段。現在13万円・・。
(;´Д`)