DEVGRU

プログラミングとbitcoinのシステムトレードについて書きます

Programming

PostgreSQL に投入した約定履歴からMatplotlibでローソク図を描画する

前の記事で約定履歴が手に入ったので、OHLCを求めてローソク図を描画してみる。 team-6.hatenablog.jp (adsbygoogle = window.adsbygoogle || []).push({}); from datetime import datetime, timedelta import pandas as pd import matplotlib.pyplot as plt…

bitbank から 約定履歴を取得する

bitbank の APIを眺めていたら、任意の日付から約定履歴を取得することができることに気づいた。 無限に見られるわけではないみたいだが、cyrptowatch よりも長い期間のOHLCが取得できそうなので頑張ってみた。 (adsbygoogle = window.adsbygoogle || []).pu…

Coursera の Machine Learning course を修了した

昨年の12月から受講していた Cousera の Machine Learning course を修了した。 www.coursera.org (adsbygoogle = window.adsbygoogle || []).push({}); 以下、簡単に感想 この界隈では受講必須 パラメータチューニングやサンプル追加の効果の判断など、アル…

Coursera の Machine Learning course を始めた

Coursera という、無償のe-Learningがあり、そこのMachine Learning courseがかなり評判が良いので始めてみた。 www.coursera.org (adsbygoogle = window.adsbygoogle || []).push({}); 現在2週目だが、ここまでの感想は以下の通り。 コンピュータ・サイエン…

Zaif のREST APIエラー時にリトライする

例のZaif だが、拙宅のStreaming APIを403にした件ですでにうんざりだが、 それに加えて混雑のせいでBot のリクエストが通りづらくなっている。 しばらく待ってリクエストする、を繰り返せばいいのだが リトライするべきエラーとそうではないエラー(資産不…

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はマーケット価格…