DEVGRU

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

BITPointのAPI取引はやめておけ

サービスをdisる方向なのであんまり書きたくない内容だが、同じ落とし穴に落ちる人がいないように周知しておいたほうがいいでしょう。 (adsbygoogle = window.adsbygoogle || []).push({}); 先日、以下の記事を書きました。 team-6.hatenablog.jp APIが使え…

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…

BITPointの価格取得APIに接続できない

BITPointの口座も開設できたので、システムに組み込もうとしたのだが、 APIの叩き方が悪いのか、それともサーバが落ちているのか、WebSocketのopenイベントが発火しない。 openイベントが発火しないままではsendが送れない。 (adsbygoogle = window.adsbygoo…

Feedly, inoreader, Twitter の購読ボタンを作りました

左サイドバーを見ていただけると分かるんですが、「購読」というブロックが増えて、Feedly,inoreader,Twitter それぞれでこのブログを購読できるようになりました。 (adsbygoogle = window.adsbygoogle || []).push({}); 画像とか使いたくないので、HTML+CSS…

Paiza のA問題が解けない

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

AtCoder触ってみた

AtCoder をやってみました。 と言ってもTutorialだけですが。 (adsbygoogle = window.adsbygoogle || []).push({}); Python2と3間違えて速攻でRuntimeErrorの表示を頂いてしまいましたが、 そもそもテストしろよな、というのが正しいツッコまれ方かと思いま…

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

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

BITPoint の口座を開いた

BITPointからログイン情報の入った紙が届いて、無事にBITPointにログインすることができた。 (adsbygoogle = window.adsbygoogle || []).push({}); 申込時には各種個人情報と、身分証明になるものの写真が必要だった。 免許証の写真を当初送ったところ、光が…

RxPYよさげ

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

bitcoin のトレーディングボット Gekko を一瞬だけ読んでみた

ソースコードはこちら。よく名前は聞く。 github.com Node.jsで書かれている。 肝心のアルゴリズムだが、リポジトリに入っているものは単一の指標しか見ていないので、ちょっとそのままでは使えなさそう。 RSIやMACDがしきい値以上だったら売る・買う、みた…

システムトレーディングフレームワークJiji面白そうですね

先日Qiitaの記事まとめている時に見つけたんですが、Jijiが面白そうです。 jiji2.unageanu.net Ruby でトレーディングアルゴリズムを書ける、実行できる バックテストも実行できる 無料(スマホアプリは有料) OANDA のAPIを使うようですね。確か国内では数…

機械学習 x トレードな記事 Qiita編

機械学習xトレード、いろいろな記事が見当たるんですが、 見当たりすぎて収集つかないので自分用にまとめておきます。 (adsbygoogle = window.adsbygoogle || []).push({}); Qiitaに載っている記事はこのあたりが役に立つかも。 もっとあるかもしれないが、…

ServersMan@VPS ではDockerが使えない

掲題の通り、以上。 としてもいいのだが、一応理由を。 Dockerは比較的新しいカーネルを必要とするが、ServersMan@VPSでインストールされているカーネルのバージョンは、それより古い。 しかし、SeversMan@VPSではOpenVZによる仮想化のため、カーネルのバー…

Zabbix で Docker コンテナの状態を監視する

bitcoin トレードシステムの各モジュールは基本的にDockerコンテナとして動作しており、 これが停止したときに通知を受け取りたい。 team-6.hatenablog.jp 儲けが出ているなら別だが、そうでない段階でDATADOGを課金して使うのは厳しい。 (adsbygoogle = win…

チケットぴあを使いたいなら、さくらのメールボックスの使用は避けたほうがいいかも(※)

でもとりあえずチケットぴあは俺に謝ったほうがいい。 私は .sakura.ne.jpで終わる独自ドメインのメールアドレスを使用しているが、 こいつでちけっとぴあを利用したところ、 購入直前の画面で「お客様の会員情報ではサービスをご利用いただくことはできませ…

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がどこも差さないので、 エラーとなってしまう。 $…

どうやらDATADOGは無料プランだと使えないらしい

この記事の末尾で触れたDATADOGだが、Pricingみると無料プランではアラート飛ばせないらしい。 team-6.hatenablog.jp www.datadoghq.com (adsbygoogle = window.adsbygoogle || []).push({}); Zabbix が使えそうなので、次に試す。 dev.classmethod.jp

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…

Elasticsearch の ES_HEAP_SIZE はもう使ってはいけない

古い記事にはみんなES_HEAP_SIZE使うように書いているんだが、 今(5系)これを設定するとエラーで起動しない。 ES_JAVA_OPTS="-Xms400m -Xmx400m" と、JVMのオプションとして制限を与える。 これでElasticsearchの消費メモリは400MBに制限される。 はっきり…

ブログのSNSボタンをカスタマイズした

はてなブログ組み込みのSNSボタン、やたらとロードに時間がかかるので、カスタマイズしてみた。 (コードを公開していたサイト忘れた…) ロードにかかる時間はかなり少なくなった。 また、トップで表示される記事の数が10になっていたが、これも少なくした。…

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