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

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

2020-01-01から1年間の記事一覧

Kabu + のプロキシを作る - 大雑把な構成

日次で更新データを取ってくるバッチサーバは Python で書いて、サーバレスで動かす。今のところ GCP or AWS どっちもアリだと思ってる。

Kabu + のプロキシを作る - API制限を確認する

まとめ 日次バッチで大丈夫、十分足りる。ただし、初期のデータ取得はその限りではないが、同期ツールでその制限外で取得できる。

Kabu + のプロキシを作る - 方針変更

昨日の記事では規約上で許可されている共有フォルダ一括同期ツールを使用して、API制限を受けずにアクセスしようとしていた。 how-to-make-stock-trading-system.dogwood008.com てっきり、WebDAVを使えば条件が満たされると思っていたが、どうやらそうでは…

Kabu + のプロキシを作る

Kabu+へのプロキシを作り、必要以上に Kabu+ のサーバへ負荷をかけずにCSVを取得できるようにしていく。

アイデアメモ - CSVに調整後終値を付与(本当の完成)

昨日はCSVから読み込んだDataFrameに、調整後終値を付加したが、1日適用するのが早かったため、直す必要があった。今日はこれを直す。 結果、調整後終値を無事に付加することができた。調整後終値を付加する連載はこれで一旦完了である。次回からはCSV取得の…

アイデアメモ - CSVに調整後終値を付与(一旦実装完了と凡ミス)

CSVを DataFrame に変換し、調整後終値を付加することはできた。しかし、凡ミスが1点だけあり、修正が必要。

アイデアメモ - CSVに調整後終値を付与(ラスト直前、実装アイデア)

本日はラフに書いているコードを共有して、最終イメージを掴んでもらうことにする。 全営業日について、その日の調整後終値を算出するための終値調整比を用意し、日付けと調整比のペアで DataFrame を作成する。

アイデアメモ - ある月の営業日を取得する

jpbizday というライブラリを使って、営業日を取得する。

アイデアメモ - Kabu+ で取得した CSV から必要なカラムだけフィルタリングして表示

Pythonのコード 出力 今回は how-to の記事。 pandasの API Referenceを見ると、 header や usecols を使った方が良いのかもしれないが、簡易にフィルタリング&リネームする方法を紹介する。 pandas.pydata.org Pythonのコード 下記のコードは、Kabu+で取得…

アイデアメモ - CSVに調整後終値を付与(株式の分割と併合をまとめて扱う)

## 前回の振り返り 前回までで、株式併合に対応できるように、終値に対してかける比率を計算し、調整後終値を計算できるようにした。 ## 今回の内容 株式併合だけでなく、分割もあわせて扱って、1つの DataFrame にする。

アイデアメモ - CSVに調整後終値を付与(終値調整比を付与)

前回は終値調整用比率を作ろうとして試行したが、うまくいかなかった。それとともに、どのように変更すれば実現できるかも合わせて記した。 今回は前回のやり残しをカバーし、終値調整用比率を作成する。

アイデアメモ - CSVに調整後終値を付与(終値調整用比を算出するために)

前回の振り返り 前回は、「●株→●株」の数値を取り出し、プログラムから扱いやすいように変換した。 how-to-make-stock-trading-system.dogwood008.com 今回の内容 今回は走り書き程度。試行してダメだったので、別の方法を考える。 併合比率の逆数を取って、…

アイデアメモ - CSVに調整後終値を付与(自然言語を倍数表記に換算)

## 今回の内容 今回は、「●株→●株」のような表記になっている `併合比率` カラムについて、「●倍」のように倍数表記に変更することで、プログラムから扱いやすいようにする。 ## 前回の振り返り 前回は、調整後終値を計算するためにHTMLを解析してCSVを作成…

アイデアメモ - CSVに調整後終値を付与(株式併合、株式分割を加味)

前回の内容 今回の内容 調整後終値とは 株式併合・株式分割とは 戦略・アイデアメモ まずは、HTML を DataFrame に変換するところまで heigou.py 出力 前回の内容 前回は、 KABU+ を契約してCSVを取得するところまでやった。 how-to-make-stock-trading-syst…

サービス・技術調査 - #2 KABU+ by ZEROBYTE社

## 前回の記事 前回は、KABU+ の紹介をし、KABU+が採用するデータ配布手段である WebDAV について調べた。 ## 今回の内容 実際に KABU+ を契約し、いろいろ試したことで、契約前と後での気づきをまとめる。

サービス・技術調査 - WebDAV

2020-11-29更新 API制限を受けずにデータを取得するには、WebDAVを使うだけではなく、共有フォルダ一括同期ツールの使用が必要である事が明記されていた。つまり、本記事に従ってWebDAVでアクセスしても、規約を満たさない過剰アクセスとなる可能性がある。…

サービス・技術調査 - KABU+ by ZEROBYTE社

株式のヒストリカルデータ(過去価格データ)を提供する ZEROBYTE 社のサービス KABU+ について、いくつかの観点で仕様をまとめる。本調査は複数の記事にまたがって結果をまとめていく。

手数料の導入 ◆ Backtrader 最初の戦略その8

## 今回の内容 今回は、株取引に避けては通れない、手数料の計算を導入する。

Jupyter Notebookの導入 ◆ Backtrader 最初の戦略その7

前回の振り返り 今回の内容 解説 Dockerfile docker-compose.yml Pipfile 実行 Jupyter 前回の振り返り 前回はグラフに単純移動平均のグラフを追加した。 how-to-make-stock-trading-system.dogwood008.com how-to-make-stock-trading-system.dogwood008.com…

グラフに単純移動平均 (SMA) を追加する (変更内容PRの紹介) ◆ Backtrader 最初の戦略その6.1

概要 下記の記事で変更した内容を、GitHubのPRにまとめたので、参考にしてほしい。 https://how-to-make-stock-trading-system.dogwood008.com/entry/backtrader-output-chart-smahow-to-make-stock-trading-system.dogwood008.com GitHubのPR github.com

グラフに単純移動平均 (SMA) を追加する ◆ Backtrader 最初の戦略その6

前回の振り返り 今回の内容 単純移動平均 (Simple Moving Average; SMA)とは? main.py を変更 前回の振り返り 前回は、バックテストの結果をグラフとして出力した。 how-to-make-stock-trading-system.dogwood008.com how-to-make-stock-trading-system.dog…

バックテストの結果を出力する(変更内容PRの紹介) ◆ Backtrader 最初の戦略その5.1

概要 下記の記事で修正した内容を、GitHubのPRにまとめたので、参考にしてほしい。 how-to-make-stock-trading-system.dogwood008.com GitHubのPR github.com サンプル 実際にこのPRに沿ってグラフを出力すると、下記のようなものになる。 how-to-make-stock…

バックテスト中に手仕舞いする(変更内容PRの紹介) ◆ Backtrader 最初の戦略その4.2

概要 下記の2記事で修正した内容を、GitHubのPRにまとめたので、参考にしてほしい。 how-to-make-stock-trading-system.dogwood008.com how-to-make-stock-trading-system.dogwood008.com GitHubのPR github.com

バックテストの結果を出力する ◆ Backtrader 最初の戦略その5

前回の振り返り 今回の内容 main.py の変更 Photo by Lorenzo from Pexels 前回の振り返り 前回は手仕舞いするためのコードを紹介した。 how-to-make-stock-trading-system.dogwood008.com 今回の内容 今回は、一連のバックテストの結果をグラフとして出力す…

バックテスト中に手仕舞いする ◆ Backtrader 最初の戦略その4.1

前回の振り返りと今回の内容 main.py の修正 next() の修正内容 Photo by Chris Ried on Unsplash 前回の振り返りと今回の内容 この記事は、下記記事の続きの記事である。手仕舞い戦略の部分の説明を追加する。 how-to-make-stock-trading-system.dogwood008…

backtrader-plotting: Backtraderのグラフを綺麗に描画してくれるライブラリ

Backtrader の標準の機能で出力できるグラフは、2種類ある。PNGの静止画として出力するか、Jupyter等で対話的に出力することでインタラクティブなグラフとして出力するかである。 しかし、後者の場合、ファイルとして保存することがやや難しい。 backtrader-…

バックテスト中に手仕舞いする ◆ Backtrader 最初の戦略その4.0

前回の振り返り 前回は、株式を買うことで建玉を作った。 how-to-make-stock-trading-system.dogwood008.com 今回の内容 建玉を手仕舞い(売る)ことで、含み益または含み損を確定させる。また、どのようなタイミングで売買しているかをグラフにプロットする…

委託保証金維持率

委託保証金維持率とは、信用取引で借りているお金のうち、保証金でどれだけの割合を維持しないといけないかを示したパーセンテージである。 これを下回ると、追加で証拠金が必要になり、この状態を追証という。 Photo by Karolina Grabowska from Pexels 保…

GitHubで差分表示◆Backtrader 最初の戦略その1-3

下記の3記事で更新した内容を、次のGitHubのPRとして作成した。参考にしてほしい。 GitHubのPR github.com 過去の記事 how-to-make-stock-trading-system.dogwood008.com how-to-make-stock-trading-system.dogwood008.com how-to-make-stock-trading-system…

代用有価証券

代用有価証券とは、委託保証金として現金の代わりに差し入れる証拠金相当の有価証券である。 Photo by Karolina Grabowska from Pexels 例えば、1000万円分の現物株を持っていて、ある一定の割合で現金同等として扱ってもらうことができる。この一定の割合を…

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