株のシステムトレードをしよう - 1から始める株自動取引システムの作り方

株式をコンピュータに売買させる仕組みを少しずつ作っていきます。できあがってから公開ではなく、書いたら途中でも記事として即掲載して、後から固定ページにして体裁を整える方式で進めていきます。

RustでDBを読み込む その1

下記の記事の続き。今度はDBを立てて、そこにアクセスした結果を返すようにする。 how-to-make-stock-trading-system.dogwood008.com DBは PostgreSQL を使用する。好みで MySQL でも良いだろう。直接立てるのではなく、Docker + Docker Compose を使って立…

actix-web で HelloWorld

下記ページを参考にして、 actix-web で Hello World を作った。 github.com 今後はDBに接続して、下記を参考にしつつ最も近い値を返すように変更していく。 how-to-make-stock-trading-system.dogwood008.com メインのプログラム // main.rs use actix_web:…

Rust開発環境のセットアップとHelloWorld

下記の記事を参考に進める。なお、実行環境は intel mac (Big Sur) である。 note.com インストール curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh info: downloading installer Welcome to Rust! This will download and install the of…

Rustの勉強を始めた

doc.rust-jp.rs how-to-make-stock-trading-system.dogwood008.com Rust自体全くの素人なので、まずはその勉強から始めることにした。

RustのWebアプリケーションフレームワークやライブラリを調査

一通り調査し、丁寧にまとめてある記事があったので,貼っておく。 developers.cyberagent.co.jp どうも actix-web がデファクトのようなので、今のところはそれで作ろうかなと思う。

Rustで作ってみようかな:日時を投げると、その時の時価を返してくれるサーバ

how-to-make-stock-trading-system.dogwood008.com 昨日のこれだが、Rustで作ってみようかなって思ってる。始めた触るけど、やってみよう。

次に作るもの:日時を投げると、その時の時価を返してくれるサーバ

次は、DBのラッパのようなものを作る。下記で構想していたものをもう少し具体的に書く。 how-to-make-stock-trading-system.dogwood008.com 作ろうとしているのは、「指定した日時における、現在価格を歩み値から取得して返す」というサーバである。これはプ…

PUSH APIのフェイクサーバを作る その7

how-to-make-stock-trading-system.dogwood008.com 今日は昨日の後始末。JSON形式でトークンを返したり、READMEを作成したりした。 github.com

PUSH APIのフェイクサーバを作る その6

how-to-make-stock-trading-system.dogwood008.com 昨日の続きだが、完成した。 github.com $ docker-compose --build up と入力するだけで、 localhost:18080 で待ち受けを開始する。 あとは、 kabu STATION API にリクエストを出すように /kabusapi/token …

PUSH APIのフェイクサーバを作る その5

how-to-make-stock-trading-system.dogwood008.com 昨日の続き。フェイクのトークンを配信できるような nginx.conf は設定できた。一旦ここまでをリポジトリに公開する。 github.com ただし、まだWebsocket周りのサービスが想定通り動かないので、継続して調…

PUSH APIのフェイクサーバを作る その4

how-to-make-stock-trading-system.dogwood008.com 昨日の続き。前段にnginxを置き、アクセスされたパスによって後段のexpressかwebsocketのどちらかのサーバへアクセスを流し、nginxはそのリバースプロキシとして振る舞う、という構造を目指している。 まだ…

PUSH APIのフェイクサーバを作る その3

how-to-make-stock-trading-system.dogwood008.com 上の記事の続き。 0.8-1.5秒毎にランダムで値を返却するフェイクサーバを作った。 ただ、これだとトークンを返却するリクエストに対応できないので、expressを使ってダミーのトークンを返せるように変更し…

PUSH APIのフェイクサーバを作る その2

細かいところを調整しているが、大まかにはフェイクサーバはできたんじゃないだろうか。 'use strict'; // ref: https://shizenkarasuzon.hatenablog.com/entry/2021/04/21/004132 const fs = require('fs'); const WebSocket = require('ws'); const wss = …

PUSH APIのフェイクサーバを作る その1

開発用に動作をモックするフェイクサーバを作る。まずは先行事例を見つつ、Websocketでメッセージを返すところから。 'use strict'; // ref: https://shizenkarasuzon.hatenablog.com/entry/2021/04/21/004132 const fs = require('fs'); const WebSocket = …

Websocketを python-kabusapi から閉じられるようにしたい

github.com 試行錯誤中、、、あんまりうまくいっていない

お休み:楽天ひかりがだめになったので

PCがネットに繋がらないので、本日お休みします。😢

macやLinuxから kabu STATION APIを使う(Windowsにnginxを立ててリバースプロキシ)

Windowsでしか kabu STATION が動かないため、APIもWindowsでしか実行できない、そう思っていないだろうか。 そんなことはない、macやLinuxからでもAPIは叩くことができる。ただし、Windowsは必要で、Windows上にnginxを立てる必要がある。 公式のissueで削…

WIP: python-kabusapi をBASIC認証に対応させる

python-kabusapi は requests を使用しているので、BASIC認証にも容易に対応できそうだ。現在進行中。

WIP:nginx で Websocketのリバースプロキシ

how-to-make-stock-trading-system.dogwood008.com 昨日の記事の続き。下記の記事が参考になる。 qiita.com

アイデア:nginx で Websocketのリバースプロキシ

how-to-make-stock-trading-system.dogwood008.com これをやるべく、nginxでWebSocketのリバースプロキシを書いている。mac <-> Virtualbox <-> win の通信をしようと思っている。

SBI証券でeワラントの取り扱い終了

site1.sbisec.co.jp 馬鹿みたいに損した記憶しかないわ…

SBI証券、デザイン変わったか?

www.sbisec.co.jp スクレイピングしている人は、正しく動いているか確認した方が良さそう。

asyncioは close() する前に cancel() する必要がある?

how-to-make-stock-trading-system.dogwood008.com 上記の記事に沿ってやってみたが、うまく行かなかった。 わかりやすいように、Ctrl+Cを押した時点で Close websocket と表示するようにしたスクリプトが、下記のものである。 try: # 受信開始 api.websocke…

python-kabusapi でWebsocketをクローズする

時間が無いので動作未検証だが、イメージとしてはこんな感じでソケットをクローズできるのではないかと考えている。時間取れた時に検証する。 @api.websocket def recieve(msg): # ここで処理を行う msgはdict形式である。 print("{} / {} {} {}".format( ms…

調査:Websocketをきちんと閉じていないのがPUSH APIから取得できなくなる原因ては?

公式のサンプルを見ると、やはりきちんとWebsocketを終了時に閉じているようだ。 https://github.com/kabucom/kabusapi/blob/master/sample/Python/kabusapi_websocket.py python-kabusapi だと、起動して初めの1回だけ情報を取得できたことから、終了処理が…

訂正:「kabu STATION API のPUSH APIは、土日には一切情報が流れてこない」というのは誤り

how-to-make-stock-trading-system.dogwood008.com 昨日の記事で、「一切流れて来ない」と書いたが、それは誤りだった。 現在試行錯誤中だが、 shirasublue/python-kabusapi を使う際、正常にWebsocketをクローズしない場合(例えばCtrl+Cで抜けた場合)、次…

kabu STATION API のPUSH APIは、土日には一切情報が流れてこない

訂正記事有り: how-to-make-stock-trading-system.dogwood008.com kabu STATION API を使ってPUSH APIのメッセージを見てみようと思い、下記のようなスクリプトを組んだ。しかし、結果としては、一切のメッセージが流れてこず、動作確認はできなかった。 土…

ニュース:SBI証券で「資産残高」「実現損益」「資産推移」「配当/分配金」の一覧表示が可能に

www.sbigroup.co.jp これがあればカビュウは要らないか…? kaview.jp

構想:datetimeと株価を保存するサーバを作る

how-to-make-stock-trading-system.dogwood008.com 予め取得しておいた歩み値をdatetimeと調整価格で保存しておき、datetimeを入力とし、調整価格を出力とするようなサーバを作ろうと思う。調整価格とは、株価の分割、併合に対応して乗算・除算が行われた後…

紹介:SBI証券の貸株プラス

https://www.sbisec.co.jp/ETGate/WPLETmgR001Control?OutSide=on&getFlg=on&burl=search_domestic&cat1=domestic&cat2=stockop&dir=stockop&file=domestic_stockop.html まず、現物株を差し出して満期日(1週間後)になれば、無条件で特約権料として10-30%…

(C) 2020 dogwood008 禁無断転載 不許複製 Reprinting, reproducing are prohibited.