DEVGRU

プログラミングと競馬予想について書きます

Programming

Zaif の streaming API がまた止まっている の続き

team-6.hatenablog.jp の続き。 Streaming API についてサポートに問い合わせても梨の礫で、ほとほと困っている。 (adsbygoogle = window.adsbygoogle || []).push({}); REST API へのポーリングで実装したは良いが、ある程度ディレイを入れなければいけない…

Zaif の XEM の最小取引量

Zaif でオルトコインとビットコインを用いた裁定取引を試しているんですが、 XEM/BTC と XEM/JPYで最小取引量が異なるようです。 (adsbygoogle = window.adsbygoogle || []).push({}); curl https://api.zaif.jp/api/1/currency_pairs/all | jq . | less と…

cookiecutter を使ってPyramidのプロジェクトをテンプレートから作成する

Pyramid 使いたいんですが、最近cookiecutterの記事(参考)がはてブに上がったりしていたので、 Pyramidのものがないか探したらありました。 https://github.com/Pylons/pyramid-cookiecutter-starter (adsbygoogle = window.adsbygoogle || []).push({}); …

ノンプログラマこそ読んで欲しい! 書評: 退屈なことはPythonにやらせよう 〜 ノンプログラマーにもできる自動化処理プログラミング

以下の本を読んだんですが、掲題の通りノンプログラマ必読ですね。 職場の業務効率向上をしたい人はすぐに買うべきです。 退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング作者: Al Sweigart,相川愛三出版社/メーカー: …

機械学習環境をAnaconda使わずに作ってみる(Ubuntu 16.04)

前記事で書いたとおり、Anaconda でバシッと色んな物が入って嬉しいんですが、一方でAnacondaを使わずにそれをするにはどの程度の労力がかかるのか、試してみたいと思います。 team-6.hatenablog.jp team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle…

Anacondaの利用は是か非か?(またはそれでも私がAnacondaを“今“使う理由)

先日の投稿で、少しフィードバックをいただけた(ありがとうございます!)ので、それに対する反応です。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); フィードバックその1 コメント欄より。 引用されていたので反応しておき…

今Pythonで機械学習・ディープラーニングする環境を作るならpyenv系一択だよね(※個人の感想です)

ちょっと煽ったタイトルですが、これから言いたいことを一言で言うとそういうことです。 またPython環境構築界隈の混沌が深まりそうで申し訳ないですが、自身の中ではそういう結論です。 (adsbygoogle = window.adsbygoogle || []).push({}); まず、先に数件…

BITPointの価格取得APIに接続できたけど

このシリーズもこれで終わりにします。 team-6.hatenablog.jp team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); ドキュメント読んだ通りに実装してみたつもりが接続できず、 カスタマーサポートにはサポート外と言われてみたり、と…

書評: 詳解ディープラーニング TensorFlow・Kerasによる時系列データ処理

お仕事的な理由と、bitcoin のトレードに活かせないか、という2つの理由でディープラーニングに手を出そうとして以下を購入した。 詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~作者: 巣籠悠輔出版社/メーカー: マイナビ出版発売日: …

AtCoder に参加してみた感想

AtCoder ABC071 に参加しました。 AtCoder Beginner Contest 071 - AtCoder (adsbygoogle = window.adsbygoogle || []).push({}); 感想: 以下記事のワンライナーは役に立った。 以下の記事で書いたワンライナーは使いドコロがあったので良かった。 (今回は…

pyenv-virtualenv を使ってみる

前記事でpyenvのインストールについて書いたんですが、 環境を分ける需要があるので、pyenv-virtualenvについても書いておきます。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); virtualenv はPythonのインストールされたパッ…

Pythonをasdf-vmでインストールするのをやめ、pyenvを使うようにした

以前書いたとおり、Anaconda を asdf-vm でインストールしたところ、Anacondaではない環境ではcurlがフルパス指定でないと使えなくなった。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); 別段asdf-vmにこだわる理由はなく、む…

プロコンで役に立つかもしれないPythonのワンライン関数

Paiza や AtCoder では、入力がテキストで示されますが、 その型は文字列だったり数値だったりするわけで、 うまい感じにキャストしたいものですね。 scanf的なものが標準であればいいのですが、ないので作るしかありません。 (adsbygoogle = window.adsbygo…

Paiza のA問題が解けない

恥を忍んで書くが、PaizaのA問題が解けない。 paiza.jp (adsbygoogle = window.adsbygoogle || []).push({}); 挑戦したのはこれ。 paiza.jp 解法はわかっているつもりだが、計算時間とメモリサイズの制約に引っかかってジャッジが通らない。 最悪ケースのチ…

RxPYとbottle.pyは組み合わせがあまりよくなさそう

掲題のとおりなんですが、 非同期に処理結果をコールバックに渡してくるRxPYと、 関数呼び出しの戻り値としてレスポンスを同期的に値を求めるbottle.py は相性が良くないんですよね。 (adsbygoogle = window.adsbygoogle || []).push({}); RxPYのexampleには…

RxPYよさげ

いま仕事でRxJava使ってAndroidアプリ作っているんですが、 並列タスクを記述しやすくてとても良いですね。 RxJavaリアクティブプログラミング作者: 須田智之出版社/メーカー: 翔泳社発売日: 2017/03/08メディア: Kindle版この商品を含むブログを見る (adsby…

bottle.py のアプリケーションを Dockerで動くようにする

Jupyter Notebookで書いたロジックをAPI化するためにbottle.pyを使用したが、それをDockerで動くようにしてサーバにデプロイした。 例えばこんなmain.pyがあり、その横にbottle.pyがあるとする。 main.py from bottle import route, run, template @route('/…

asdf で Anacondaを入れたらcurlが使えなくなって悲しい

いろいろと言語処理系を使うので、asdfを使っているが、Anacondaを入れると、curlがおかしくなる。 github.com 具体的には、curlという名前のshimが作られるが、Anaconda以外のPythonを使っている時にはshimがどこも差さないので、 エラーとなってしまう。 $…

SAKURAのVPSで、ufwを使いやすくなった(らしい)

以前ブログで、SAKURAのVPSで、ufw使う方法を書いた。 team-6.hatenablog.jp やはりというかみんな困ってたらしく、2017/7/24 にこれが追加された。 vps-news.sakura.ad.jp ufw 以外にDockerのインストールもスタートアップスクリプトとして使えるように用意…

外形監視はUptime Robotがいいらしい

ってGoogle先生が言ってた。 blog.adachin.me blog.shiftky.net Elasticsearchのサーバが死んでいると嫌なので、外形監視を入れた。ついでにこのブログも。 Mackerelは無料プランだと外形監視できないので、これは嬉しい。 問題は他のNode.jsやGoやbottle.py…

bitcoin のシステムトレードをしている 〜2017/08/08の時点の話〜

bitcoinのシステムトレードをいろいろしているが、 エンジニアとして楽しいのはOHLC求めてテクニカル指標出して、あたりまでで、実際の売り買いとなるとそんなに結果が出なかったりするので、 またすぐに改良と称して最初の部分から作りなおしてしまっている…

coincheck の WebSocket API をNode.jsから使う。

一瞬落ちていたcoincheck の WebSocket API だが、 REST APIと違ってポーリングの必要がなく、システムトレードを行うためのデータ収集には欠かせない。 結構簡単なので、以下にメモがてらコードを記載する。 Node.js v7.3.0 で、npm -i ws している。 const…

coincheck の WebSocket APIが落ちているような

表題のとおりだが、ブログ等でサービス障害に上がっていない。 サービス提供者としてそれはどうなんだろうか。 coincheck.com 以下のコードをFirefoxやGoogle Chromeの開発ツールのコンソールから打ち込むと簡単に状況が確認できる。 2017/08/07 2:14現在、5…

bitcoin の取引履歴を貯めるには、Elasticsearchが一番かもしれない

システムトレードでは、取引履歴を蓄積して、そこからレンジバー作って各種テクニカル指標を求め、エントリーの判断を行う。 筆者の環境では、各マーケットのストリームAPIから取得した情報をPostgreSQLに蓄積していたが、 非常に重くなってしまったので、El…

bitcoin 取引所API比較

結論から言えば、bitFlyer が最高(ただし、手数料がかかるので、トータルでは最悪)。 (adsbygoogle = window.adsbygoogle || []).push({}); Zaif ZaifAPI ドキュメント — Zaif api document v1.1.1 ドキュメント 使用感: 最悪 Zaif のAPIはマーケット価格…

機械学習でビットコインマーケットのトレンドをわかりやすくする

coincheck,zaifを対象にトレードを行っていたが、いきなり500〜1000円高い価格で約定してまた戻る、という厄介な動きをすることがある。 通常の時間足ならよいが、今はレンジバーを使っているため、これのせいで足が余計に生え、各種指標も乱れる。 (adsbygo…

Zaif のstreaming APIをNode.jsでウォッチするときの注意

Zaif の streaming APIを用いて価格情報をNode.jsでウォッチするときにハマったのでメモ。 Zaif の streaming API はWebSocketで価格をpush通知してくれるものだが、 Node.jsの websocketパッケージではどういうわけか通知が来ない。 coincheckの同様のAPIは…

bitcoin と Etheriumのシステムトレードを実装した。

bitFlyer lightning でbitcoinとEtheriumのシステムトレードシステムを実装した。 BotはPython3で実装した。 アルゴリズムは「シンプル戦略」を採用し、上昇相場で売り、下降相場で買う、という単純なものに落ち着いた。 「シンプル戦略]についてはこちらを…

bitcoin のシステムトレードに必要なテクニカル指標を計算してプロット

bitcoinに限らず、システムトレードをするにはテクニカル指標を計算する必要がある。 さらにトレーディングアルゴリズムを考えるなら、可視化は必須である。 (adsbygoogle = window.adsbygoogle || []).push({}); 今回、テクニカル指標の計算が無事にできた…

Docker のGUIツールを使わなかった話

今実装中のBitcoinシステムトレードのシステムは、複数のDockerコンテナで構成する。 まさか1つ1つ立ち上げていくわけにも行かないので、オーケステレーションツールを使うが、 稼動状態を見るGUIが欲しくなったのでいろいろ試した。 Rancher rancher.com …