栗’s diary

Python勉強中。トレードに役立つようなTwitter bot開発中。暗号通貨の自動売買もやってみたい。

現在のbot機能

最終更新:2017年11月3日

我がbot

twitter.com

現在の機能は、

  • 1時間に一回、ドル円日経平均先物を呟く。日経平均先物は残念ながら10分遅れ。日経平均先物miniのリアルタイム。細かい話をすれば、現値ではなく板状況からのマイクロプライスを5円刻みに。日本が動いていない時間帯はSGXとCMEを使用。いずれも10分遅れ。リアルタイムで日経平均先物の情報を取得できる無料サイトがあれば教えてね。
  • 7:00に米国株価指標を呟く。ツイッターの文字数制限がなければもっと増やしたいんだけど。
  • 前場後場が終わって25分後、国内株価指標を呟く。
  • 6:50にCMEのFF金利先物から利上げ確率を計算して呟く。答え合わせはCountdown to FOMC - CME Groupで。数値合わないことがよくあるが求め方が一通りじゃなかったりするせいかなと諦めてる。
  • TDnetの開示情報を場中に5分間隔で確認し、その時開示があった場合には若干のフィルターをかけて呟く。GAEだと1分更新まで出来るがほとんどが5分単位で開示されているので。あんまりサイトに負担かけても悪いんで。
  • 日銀ETFの買入結果の更新状況を5分間隔で確認し、当日分の更新があれば呟く。そのうち、zipファイル内のExcelから数字を読み取って、それを呟けるようにしたい。
  • 企業サイトの新着情報を1分間隔で確認し、更新があれば呟く。監視企業数をどんどん増やしていく予定だが、ちょっとエラー処理が面倒なので保留してる。

Zaif apiで勘違いしていた事

最近、ビットコインの自動売買botを稼働し出しましたが、どうもレポート(結果報告)の部分でおかしい挙動をすると昨日半日悩んでましたが、

trade — Zaif api document v1.1.1 ドキュメント

勘違いしてました。

「trade」で実際に取引所に発注するんですが、戻り値としてreceived, remains, order_id, fundsを返してくれます。このreceivedを使ってビットコインのポジション管理しようとしたんですが、どうにも挙動がおかしい。約定価格みたいなのを返してくる時がある。

receivedの詳細「今回の注文で約定した取引量」、この文言に騙されました。約定したビットコインの取引数量を常に返すものだと思ってました。しかし、売り("ask")の場合、receivedに返ってくるのは売却代金なんですよねー。確かにreceivedですからねー。でもねー...。┐(´д`)┌ヤレヤレ

 

 

coincheckのPythonライブラリを改良してみたよ

そういえば、不満のあったcoincheckのPythonライブラリ。

自分で機能追加して手元で使ってたものを、訳あって見よう見真似でsuzuki4さんのをForkしてGitHubにあげてみました。素人に毛の生えたようなもんなんで、何か不備があるかもしれませんがね...。

github.com

 

 関連記事:

yyy1980.hatenablog.com

 

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin

脱GAE

Twiiter botをやるにあたって、このブログでも書いてきましたがGAE(Google App Engine)をサーバー代わりに利用しています。GAEは無料で使え、管理しているのがGoogleなのでお手軽でいいのですが、反面いろいろ制限があり、これまで我慢してきました。一番大きいのはPythonサードパーティーが自由に使えない事(Pandas無理だからね)で、それ以外にもPythonが未だに2.7な事(有料版は3系いけるらしい。知らんけど。)、ログを残したりデータ保存したくても書き込み不可だったり(たぶん)と不自由してました。

Pythonの師匠であり、『PythonユーザのためのJupyter[実践]入門』(リンクはアフィ。私の。)の著者の一人でもある@drillerさん他何人かでPython勉強会やりつつレンタルサーバーを一つ使用してまして、それを個人利用してもいいよと言われて幾日か。今日(書いてるうちに日を跨いでしまったので昨日)、ようやく重い腰を上げ利用してみました。

drillerさんの教え通りにやればサクッとつぶやけました。

 定期的に呟くためにcron設定もサクッと...残念ながら少々手間取りました。Twitter APIが同じことを短時間で呟こうとすると制限するんですよね、忘れてました。

 時間入れてやれば動いてくれました。(ただ呟くだけで1秒以上遅れるんですね...)

 詳細は省きますが使用環境

・とあるサーバー

・Notepad++

・Git Bash

というわけで、GAEに頼らず独自サーバーを利用できるようになったので、botで出来る事の幅が広がりました。これからの拡張を生暖かく見守ってください。

最後にもう一度宣伝