最近の記事

pybottersチラ裏

pybottersのDataStoreはコードを書いてる人が違ってたりして取引所のAPIドキュメントとは違うレスポンスが返ってくることがあるのでメモ(忘れっぽいので) (例)pybotters GMOのポジションサマリーで返ってくる値 {'symbol': <Symbol.BTC_JPY: 22>, 'side': <OrderSide.BUY: 1>, 'average_position_rate': Decimal('4138590'), 'position_loss_

    • Ta-Libの指数関連の指標で必要なデータ長を調査

      Ta-LibにはEMAなどの指数関連の指標を使ったものがあります。 これらはデータ長によってバックテストでの値とズレが生じるので14期間のデータが欲しいときには60位のデータ長が必要となり、実際に使うデータの大体4~5倍程度のデータが必要となりますが、実運用ではメモリを圧迫する原因にもなるので少しでも小さくしたいところです。 なぜそのようなデータ長が必要になるかはryotaさんのブログでよく解説しているのでそちらをご覧ください。 ただ具体的にどの程度のデータ長が必要なのかはs

      • backtestingを使った時の備忘録

        ※初めに実際の運用ではAPI制限や遅延などが原因でバックテストでは勝っていても実際には負けることもあります 株やFXなどのバックテストには様々な方法があります。 ベクトル演算で高速でやるもの ループでやるもの(遅いけど作るのが簡単 今回は後者の方法でやります。 バックテストをする目的 パラメータのどこをいじれば改善するのか? 時間軸を変えて変化を見る パラメータの最適化 とにかくどこがどのように変化したのかを見る なぜbacktestingを使うのか? 理由は単純に

        • ラズパイにubuntu sever 22.04LTS導入

          タイトルのとおり導入したときの備忘録として記録しておきます。 導入までの大まかなシナリオ・ローカルネットワークの整備 我が家にはルーターが3つありますが全てブリッジモードにします。 これで物理的な環境は整いました。 ・raspberry pi imagerでOSインストール ubuntu server 22.04LTS 64bitを選ぶ 歯車ボタンを押して詳細な設定をする 黒塗りの部分は任意で変えてく 後はSDカードをラズパイに挿して電源onして10分位放置 I

          [How to] pybotters watch

          pybotters v0.13.0 からwatchが使えるようになったので試しにFTXとbinanceのBTCUSDTから約定履歴などをリアルタイムに取得しプリントするだけのコードを書いてみました。 実運用ではprint(msg.data)部分をcsv書き込みやmongoDB insert_many みたいにデータ保存するコードに書き換えればいいと思います。 インデントがずれてたりするけどとりあえず動くからヨシ import asyncioimport osimport p

          [How to] pybotters watch

          Pi-hole + nginx + android private dns(DoT) 家でも外出先でも広告カット

          はじめに 無料部分は人によって環境が違うので大体のインストール方法やスクリプトの紹介です。 無料部分だけで全ての導入は完了します。 有料部分は寄付版です。 私が環境構築したときの手順が書いてあります。 ※一番最後に自動で取得できるようにスクリプトを書きました。 ※自動更新できるようにcrontabの設定例も書き記しておきました。 ※ androidアプリのConnect for Pi-hole®の設定方法追加 Pi-holeとは? DNSフィルタリング機能を備えたDNS

          ¥500

          Pi-hole + nginx + android private dns(DoT) 家でも外出先でも広告カット

          ¥500

          phemex ふんわりと調査

          今後orderbookを参考にする際bybitより説明力が強くなりそうなのでふんわりと調査してみました Rest API のベースエンドポイント: https://api.phemex.com WebSocket APIのURL: wss://phemex.com/ws ドキュメント REST API 約定履歴 GET /md/trade?symbol=<symbol> 例1(直近の約定履歴) https://api.phemex.com/md/trade?symb

          phemex ふんわりと調査

          DataUtilityからbybitのデータ取得から結合までの流れ

          はじめに nagiさん製DataUtilityからタイトルのとおり一連のことをやったのでZenn初投稿での練習兼ねて何かやってみたいと思い書き起こしてみました。 続きはzennにて

          DataUtilityからbybitのデータ取得から結合までの流れ

          bitflyerの裏APIからohlc取得メモ

          bitflyerは一時期sfdずっと発動してまともにトレードができなくなって以来使っていなかったが自分のgit(private)とか整理する前に書き残しておく bitflyerが公式で出しているわけではなく自分用なので一部有料で隠してます。 ## querysymbol : 通貨ペア(FX_BTC_JPY, ETH_JPYなど)period : m(分), h(時間), d(日) before : unixtime, 前の時間取得(period(m)の場合9時21時で区切

          ¥2,345

          bitflyerの裏APIからohlc取得メモ

          ¥2,345

          くもすけさんのbacktestをpandasからできるだけnumpyで速くしてみた

          元記事はこちら ドテン&ピラミッディングのコードの一部をnumpyで計算して検証してみました # ポジション計算部(ドテン&ピラミッディング)pyramiding=3df['order'] = 0df['order'] = df['order'].where(df['long']!=True,1)df['order'] = df['order'].where(df['short']!=True,-1)df['pos'] = df['order'].where(df['or

          くもすけさんのbacktestをpandasからできるだけnumpyで速くしてみた

          [FTX][pybotters]websocket使ってみた

          pybottersの使用例的なもの自分用備忘録 参考にしたソースコード​ # 参考にした関数def _init(self) -> None:# 見た場所 channel == の辺りdef _onmessage(self, msg: Any, ws: ClientWebSocketResponse) -> None: 完全に理解するには↓見ないとダメそう orderbookGrouped で勝手にグルーピングしてくれるのはありがたい 使用例: 5秒毎にティッカーと板

          [FTX][pybotters]websocket使ってみた

          [FTX][ohlc]まちゅけんさんのpybottersでヒストリカルデータを入手してみた

          経緯:FTXのアカウントをおととい取得し開発コストを抑えるためにgithubやら探してみたらちょうどいいものが見つかったので紹介します。 まちゅけんさんのpybottersです。 まずはバックテスト用にヒストリカルデータが欲しいなと思ってたので早速使ってみました。 FTXのAPIドキュメントを見ながら書きました FTXのアカウントがまだの人は↓のリンクからお願いします。 import pybottersimport timeimport osimport panda

          [FTX][ohlc]まちゅけんさんのpybottersでヒストリカルデータを入手してみた

          Cloud9でフリーズした時のメモ

          AWS マネジメントコンソールから EC2へ無ければ検索 実行中のインスタンス インスタンスを選んで右クリック、インスタンスの状態、停止 もう一回停止で強制停止が選べるので停止 おわり

          ¥100

          Cloud9でフリーズした時のメモ

          AWS cloud9 ubuntu18.04のpython3.6の環境設定メモ

          $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2 左上の9を押してPreferences→Python SupportにあるPYTHONPATHを以下のように書き換える 元はこれ↓だったのを /usr/local/lib/python2.7/dist-packages:/usr/local/lib/python3.4/dist-packages:/usr/lo

          ¥100

          AWS cloud9 ubuntu18.04のpython3.6の環境設定メモ

          oandaのアカウント情報

          時間が余った時に更新 {'NAV': '3003025.2416',     #有効証拠金 'alias': 'Primary',         'balance': '3003272.7416',     #口座残高  'commission': '0.0000', 'createdByUserID': *******, 'createdTime'

          oandaのアカウント情報

          oandaV20で成り行き注文する

          例えば以下のようにコードを打ちます from auth import exampleAuthimport oandapyV20import oandapyV20.endpoints.orders as ordersfrom pprint import pprint#API取得accountID, token = exampleAuth()api = oandapyV20.API(access_token=token)#注文内容data = { "order": { #"

          oandaV20で成り行き注文する