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
-, ,

執筆者:

関連記事

Pythonではじめての強化学習3〜Actor and Critic model

By: Banalities – CC BY 2.0 目次1 課題 出力が連続値の場合2 Actor and Critic3 Actorにノイズを付与する4 結果 MountainCarC …

Python3で統計の勉強まとめ

By: Anssi Koskinen – CC BY 2.0 目次1 Hackerrank 10 Days of Statistics2 Day0 平均値、中央値、最頻値3 Day1 四分 …

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

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

Tensorflowのモデリング1〜CNN

By: William Warby – CC BY 2.0 目次1 畳み込みニューラルネットワーク2 Conv層3 POOL層4 残りの処理5 結果6 ハイレベルニューラルネットレイヤーを …

Tensorflowのモデリング2〜RNN

By: fdecomite – CC BY 2.0 目次1 Reccurent Neural Network(RNN)2 入力値を計算3 RNNのモデル4 損失関数とオプティマイザーの定義 …