Python Ubuntu

Python3で株式売買のシミュレーション〜pandas

投稿日:2017年11月24日 更新日:

株式売買シミュレーション

株価データ集 for 日本株時系列データ
ベクターで株価データ集を見つけて購入したので、これを利用してAIでの株式売買のシミュレータを作ってみた.
過去データで株式売買をしてみて、AIのパフォーマンスをみるのが目的.

ファイルの構造

pandas

pandasはデータ解析支援ライブラリ.Rのようにデータフレームとしてデータをいろいろ操作できる.

機能は膨大なので、順番にググってやっていくといい.
Python pandas 関連エントリの目次
Pandasの全メソッドを解説(その1)

まず、インストールして、importから

DataFrameの作成、構造

DataFrameは二次元データを収納する枠組.
横方向の列をcolumnという.
また、縦方向の行データの目印としてindexをつけることができる.

初期データを入れることもできるけど、必ず2次元データ(二重のArray)で入れること
また、indexも一次元データ(Array)で与えること

csvからの読み込み

read_csvで読み込む.オプション名がインスタンス化の時と微妙に異なるから注意.
一行目は自動でカラム名になるので、ヘッダーがないときはheader=None指定する.

Pandasのread_csvの全引数を解説

データの指定

カラム名

インデックス指定

ちなみに一番最後は−1を指定する
df[1] だとKeyErrorになる

範囲指定

条件指定

isinメソッドで該当する行のみの集合を取ることができる

行の追加

同じカラム名のデータフレームをappend

列の追加、削除

列の追加は、新しいカラム名に代入すればOK

列の削除は、drop.axis=1と追加する.

行ごとに処理を回す

rowには、(index, pd.Series)のタプルが入る.

できあがり

Jstock

ディレクトリがハードコーディング

Game

エントリーのときだけAiで判断して、決まった利益確定ラインか損切りラインに達したらイグジットにした
エントリー中は、次のエントリーができないことにした

Ai

グランビルの法則を参考に8箇所のエントリーポイントを判断するようにした.
5日の移動平均線を基準にして、トレンドに沿った順張りでは長期の移動平均線を参考にして、逆張りではRSIを参考にみるようにしている.

app

結果

一応、いろいろな時代で約1年間、AIに従って投資すると、平均で+26%の利益を得られる見込みになる.
今後はトレードを記録して敗因分析をしたり、決め打ちした値を機械学習にかけて最適化したりしてみたい.

ちなみに、全くのランダムで売買をきめた場合のパフォーマンスは、、、

というわけで、今のところ、ランダムに売り買いしたほうがマシという結論に…orz

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理書籍

作者Wes McKinney

クリエーター小林 儀匡, 鈴木 宏尚, 瀬戸山 雅人, 滝口 開資, 野上 大介

発行オライリージャパン

発売日2013年12月26日

カテゴリー大型本

ページ数474

ISBN4873116554

Supported by amazon Product Advertising API

-Python, Ubuntu
-, ,

執筆者:

関連記事

ElasticSearchで添付ファイルを検索対象にするプラグイン〜elasticsearch-mapper-attachments

By: Vinoth Chandar – CC BY 2.0 目次1 インストール2 チュートリアル3 情報 インストール 公式でインストール済みのElasticSearchに対応するバー …

企業レベルのコンテンツマネジメントシステムAlfresco Community5.1をubuntu server14.04にインストールしてみた

By: jenny downing – CC BY 2.0 目次1 Alfresco Community2 ダウンロード3 LibreOfficeのライブラリのインストール4 Alfres …

ubuntu server14.04にElasticSearchをインストール

By: Dawn Huczek – CC BY 2.0 目次1 環境2 インストール3 サービスの起動4 できた5 はじめてのElasticSearch 環境 Ubuntu 14.04.2 …

Raspberry Pi3とsense HATで遊ぶ

By: Su Yin Khoo – CC BY 2.0 目次1 Raspberry Pi32 Raspbian3 Raspbianでsshを使う4 raspi-configで初期設定5 R …

zshの機能と設定まとめ

By: Marsha Wheatley – CC BY 2.0 目次1 zsh機能の紹介 ニコニコ動画2 環境3 colors 色の設定4 Completion 補完機能5 Correct …