データの取得・保存
「Docker コンテナによる自動的なファイル同期」ができるような Docker イメージの作成は、打ち切ることとする。 費用対効果が悪いので、別のアプローチの方がよさそうだ。 ツールを使った場合と同等以下の同期速度になるような Linux 用スクリプトを作成し…
引き続き docker run するだけでCSVを取得してくれる便利 Docker イメージを作成しようともがいている。 how-to-make-stock-trading-system.dogwood008.com どうやってもうまくいかないので、いっそ ServerCore である mcr.microsoft.com/windows/servercore…
引き続き Docker の Windows コンテナの中で WebDAV サーバをドライブとしてマウントしようとしているが、うまくいかない。 how-to-make-stock-trading-system.dogwood008.com System Error 53 System error 67 has occurred. とエラーが出るばかりで、マウ…
昨日の記事に引き続き、Dockerで Windows 用のイメージを作っていく。ただし、引き続き試行錯誤中なので、まだ完全に動くわけではない。 今日は `Dockerfile` から呼び出される `files\init.ps1` を紹介する。
Windows Server 2016にて、下記を自動で行う Docker イメージを作ろうとしている。 Docker イメージからコンテナを作れば、スケジューラに `docker run` を自動実行するようにさえ設定すれば、実行したタイミングで最新のものに同期してくれるのがメリットで…
昨日は大まかな戦略の方針を定めた。 how-to-make-stock-trading-system.dogwood008.com この方針に従って実装を進めていく。まだ完成はしていないが、戦略の部分だけ途中経過を公開する。 import backtrader as bt from logging import getLogger, StreamHa…
昨日の記事ではうまく動かせなかったが、それを修正して動くようにしたのが本日の記事である。 how-to-make-stock-trading-system.dogwood008.com backtrader_plotting を動かす都合上、 Google Colab では TestStrategyWithLogger クラスを別ファイル test_…
昨日まででKABU+のCSVを読み込んで Backtrader でバックテストをする準備が整った。 github.com ここで、下記のスクリプトを実行しようとしているが、期待通りに動かないので現在修正中。 github.com -----------------------------------------------------…
昨日は元の呼び出し部分をそのままコピーしてきて、 KabuPlusJPCSVData クラスに再実装することで、確かにそのメソッド内で失敗することを確認した。 how-to-make-stock-trading-system.dogwood008.com 今日以降はそれを受けて、実際に呼び出し部で失敗しな…
昨日の記事では転けている箇所とその行数、およびその行が所属するメソッドを特定した。 how-to-make-stock-trading-system.dogwood008.com 今回は、標準で bt.feeds.YahooFinanceCSVData に用意されているパーサである _loadline() メソッドを上書きするた…
昨日は、どの辺で転けているかの特定を行った。 how-to-make-stock-trading-system.dogwood008.com 具体的には、 h = float(linetokens[next(i)]) で転けている。 /usr/local/lib/python3.6/dist-packages/backtrader/feeds/yahoo.py in _loadline(self, lin…
これの続きをやっていく。 how-to-make-stock-trading-system.dogwood008.com 下記を参考に、本当に必要な部分のみを記載して実行してみる。なお、諸般の事情によりGoogle Colabを使用して実行する。 how-to-make-stock-trading-system.dogwood008.com なお…
how-to-make-stock-trading-system.dogwood008.com の続き。 japan-stock-prices_2020_7974.csv で読めるようにする。 class KabuPlusJPCSVData(bt.feeds.YahooFinanceCSVData): ''' Parses pre-downloaded Yahoo Japan CSV Data Feeds (or locally generate…
振り返り nginx の設定ファイル nginx.conf nginx 振り返り ここまで下記の記事のようにプロキシを作るとして連載してきたが、振り返ってみると「プロキシサーバ」が一般的に指すものではなく、「代理で値を取得&キャッシュしておくAPIサーバ」を作ってきた…
手順 動作確認 今後 nginxに外からアクセスできるようにするため、Windows ファイアウォールの設定を変更して、待ち受けポートを開放する。 手順 サーバーマネージャー → セキュリティが強化された Windows ファイアウォール 受信の規則 → 新しい規則... ポ…
何故ポートを変えるのか 基本的に、HTTPのデフォルトポートは 80 、HTTPSは 443 である。これはPublicにするAPIサーバであれば、従う方が良い。なぜなら、アクセスの度にポートを指定しなくて良いからである。 では、何故そのポートを変えるのか。今回作成す…
今日はメモ程度。Windows の中でnginxをホストして、指定したポートを開けておけばそとからアクセスできるようになった。これでほぼ確実にプロキシサーバの構築が可能な目処が立った。参考にしたサイトは下記の通り。 nginx.org mode-n.jp qiita.com
昨日までの記事で、いよいよCSVを自分のサーバ向けに配信できる環境が整った。 how-to-make-stock-trading-system.dogwood008.com Windowsで動いている都合上、色々と不便があるので、WSL2 を入れて ほぼ Linux にしたかったのだが、どうもさくらのVPSで提供…
結論 取説の後ろの方に記載があった内容で解決する。具体的にはレジストリの編集を行う事で、1つのディレクトリ内のファイル数上限を2000万個まで許容する。 症状 同期ツールを実行すると、 「システムに接続されたデバイスが機能していません。」 と表示が…
Windows Server 2016 で WebDAV のエンドポイントをマウントする方法を紹介。
本記事では、さくらのVPS for Windows Server を借りるまでの一連の手順を紹介する。 GCP の GCE や AWS の EC2 も検討したが、さくらのVPSを借りるのと大きく料金が変わらないため、後述の理由より、さくらのvpsを採用した。 第一に、月額1000円でvpsを借り…
AWS Windows on Docker 結局何が一番良いのか AWS 昨日の記事では、AWSのEC2を使えば、格安でWindowsマシンを使えるかもしれない、と言及した。 how-to-make-stock-trading-system.dogwood008.com しかし、実際に積み込まれるメモリを考えると「本当にWindow…
ここで、AWS re:Invent 2020 にて下記の新サービスが発表された。 (略) これはサーバレスで Lambda が動くのは常識として、さらに docker のイメージ化しておけば、コンテナとしてそれをサーバレスで実行してくれるものである。
せっかく Serverless で作るのであれば、SAM (Serverless Application Model) か Serverless Framework を使ってみたい。後者は個人レベルであればダッシュボードも付いてくるので、前向きに検討したい。 www.serverless.com 今日は諸事情によりこれでおしま…
日次で更新データを取ってくるバッチサーバは Python で書いて、サーバレスで動かす。今のところ GCP or AWS どっちもアリだと思ってる。
まとめ 日次バッチで大丈夫、十分足りる。ただし、初期のデータ取得はその限りではないが、同期ツールでその制限外で取得できる。
昨日の記事では規約上で許可されている共有フォルダ一括同期ツールを使用して、API制限を受けずにアクセスしようとしていた。 how-to-make-stock-trading-system.dogwood008.com てっきり、WebDAVを使えば条件が満たされると思っていたが、どうやらそうでは…
Kabu+へのプロキシを作り、必要以上に Kabu+ のサーバへ負荷をかけずにCSVを取得できるようにしていく。
昨日はCSVから読み込んだDataFrameに、調整後終値を付加したが、1日適用するのが早かったため、直す必要があった。今日はこれを直す。 結果、調整後終値を無事に付加することができた。調整後終値を付加する連載はこれで一旦完了である。次回からはCSV取得の…
CSVを DataFrame に変換し、調整後終値を付加することはできた。しかし、凡ミスが1点だけあり、修正が必要。