python

Pythonのバックテストフレームワーク「PyAlgoTrade」を使ってみる2 〜 チュートリアル編

「Pythonのバックテストフレームワーク「PyAlgoTrade」を使ってみる1 〜 環境構築」の続き。前回はQiitaの記事「pythonのアルゴリズムトレードライブラリ」からのコピペを使って稼働確認しただけだったので、今回は少し調べてみた。 といっても少しだけ。も…

Pythonのバックテストフレームワーク「PyAlgoTrade」を使ってみる1 〜 環境構築

ziplineのインストールで躓いて、「環境問題めんどくせーなー。とりあえず躓かないライブラリにしよう。」なんてことを思っている軟弱者です。 「Pythonのバックテストフレームワーク「zipline」を使ってみる1 〜 環境構築」で辛うじてziplineを導入出来た…

Pythonのバックテストフレームワーク「zipline」を使ってみる1 〜 環境構築

環境は次。 ・JetBrains PyCharm Community Edition 2016.2.3 ・python 2.7.12 ・zipline 1.0.2 今回実施するのは次 1.ziplineをpipを使ってインストールする 2.condaを使ってziplineをインストールする ・2−1.AnacondaからMinicondaが必要なのでイン…

pandasを使用して個別株の累積リターンと指数の累積リターンをチャートに描く

個別株の累積リターンと指数の累積リターンを同じグラフ描く。 特にコメントは無い。 #coding:utf-8 import pandas as pd import numpy as np import datetime as dt import pandas_datareader.data as pdd ######## Define Method ######## def getMultiSto…

pandasとscikits.statsmodelsを使用してリターンのOLSを求める

「pandasを使用して2つの銘柄の日次リターンの時系列相関を求める」の続きっぽいやつ。「scikits.statsmodels」が必要だったので、importした。 特にコメントは無いw。 #coding:utf-8 import pandas as pd import numpy as np import datetime as dt import…

pandasを使用して2つの銘柄の日次リターンの時系列相関を求める

ここでは「1803 清水建設」と「8698 マネックスグループ」の時系列相関を求める。移動平均やヒストリカルボラティリティを求めるのと殆ど同じ方法で求められる。 pandas.DataFrame.rollingを使用して、その結果にcorr関数を作用させるだけ。 rolling_corr = …

pandasを使用してヒストリカルボラティリティを計算する

これ、「Pythonでヒストリカルボラティリティの計算」にも書いたのとほぼ同じなので軽く流す。 shift関数使わずにpct_change関数使っている分だけ幾分簡潔になったかも。 #coding:utf-8 import pandas as pd import numpy as np import datetime as dt impor…

pandasを使用して株価の日次リターン、累積リターン、リターン分布、正規Q-Qプロットを行う

以前、Rを使って試したことと同様のことをpythonで試す。 ・「urcaパッケージを使用した定常性検定」 ・「urcaパッケージを使用した定常性検定 〜 続編」 主なお題は次。 ・日次リターンの計算 ・日次リターンから累積リターンを求める ・リターン分布を描く…

pandas.DataFrame型で保持した株価データの可視化2 〜 ローソク足の作成

「pandas.DataFrame型で保持した株価データの可視化1」の続き。株価データをローソク足で描くのが今回のテーマ。 最初にソースコードを載せて、次に解説していく。その前に今回使用する主なAPIの紹介と、それに関する注意点を述べておく。◎今回使用する主な…

pandas.DataFrame型で保持した株価データの可視化1

「pandas.DataFrame型で保持した株価データを取得する」で取得したデータを可視化する。これまで可視化は下記のエントリーで触れた。そこと重なる内容も多々あるが、復習もかねる。 ・Pythonでのプロットと可視化(matplotlib編) 〜 まとめ ・Pythonでのプ…

pandas.DataFrame型で保持した株価データを取得する

「pandasで複数銘柄の株価データ(pandas.DataFrame型)をpandas.DataFrame型で保持する」からの続き。まず、前回の復習。 前回は次のようにして、複数の株価データをpandas.DataFrame型として取得した。 #coding:utf-8 import pandas as pd import datetime…

pandasで複数銘柄の株価データ(pandas.DataFrame型)をpandas.DataFrame型で保持する

同様の内容は以前も扱った。 ・Pythonでの時系列データの扱い7 〜 まとめ(WEBからの株価データ取得、プロット、移動平均の作成) ・pandas_datareader.dataのDataReaderを使用して株価を取得する 〜 pandas.Panel型で取得したデータ構造からpandas.Panel.m…

pandasで時系列データを扱う(pandas.Seriesとpandas.DataFrameを使って時系列データを扱う)2

「pandasで時系列データを扱う(pandas.Seriesとpandas.DataFrameを使って時系列データを扱う)1」の続き。全部で下記を実施予定。 1.時系列データとDatetimeIndex 2.指定した頻度の時系列データを作成する方法 3.日付のoffsetsを使用して新しい日付…

pandasで時系列データを扱う(pandas.Seriesとpandas.DataFrameを使って時系列データを扱う)1

話題は変わるが、「pandasによるStackingとUnstacking」の続き。時系列データについては、これまで以下で扱ったので重複する部分もあると思うが反復練習ということで気にしない。 ・Pythonでの時系列データの扱い1 〜 文字列とdatetimeの変換 ・Pythonでの…

pandasによるStackingとUnstacking

「pandasによるpivot 〜 複数行に渡って重複しているデータを、重複しているデータ毎に集計する」の続き。pandas.DataFrame.stackを使うと列から行へのpivotができる。 unstackはその逆。前回使用したコードにstack部分を追加する。 #coding:utf-8 import nu…

pandasによるpivot 〜 複数行に渡って重複しているデータを、重複しているデータ毎に集計する

「pandas.DataFrameの結合」の続き。例によってAAPLとMSFTの株価データを題材に色々試す。1.株価データ取得 途中、pandas.DataFrame.insertを使用して列を追加していることに注意。 #coding:utf-8 import numpy as np import pandas as pd import datetime…

pandas.DataFrameの結合

「pandas.DataFrameの連結」の続き。pandas.mergeとpandas.concatの違いは、pandas.mergeはインデックスのラベルを使用するのではなく共通のカラムデータを元に結合すること。次のように動作する。 1.マージに使用するカラムデータが探される 2.1で探し…

pandas.DataFrameの連結

「pandas.DataFrameでのデータ作成・データへのアクセス」の続き。・株価データの取得 #coding:utf-8 import numpy as np import pandas as pd import datetime import pandas_datareader.data as pdd # 期間設定 date_from = datetime.date(2016, 9, 24) da…

数字を表す文字列の最後の1文字を置き換えて数字として計算する

完全に作業メモ用。 タイトルも意味不明だろうw。どういうことかというと、100万円を「1M円」と言ったり、1000円を「1K円」と言ったりするオジサンがいて、その人が飲み会の会計をExcelで管理している時は、金額が全てそのような表記になっているの。 で、…

Pythonでの時系列データの扱い5 〜 タイムスタンプから期間への変換

「Pythonでの時系列データの扱い4 〜 「祝日の取得」および「祝日を考慮した営業日の取得」」の続き。結論から言うと、今のところこの機能を活かす状況が分かっていないので、軽く流す。 次の流れで進める。 1.pd.date_range()でDatetimeIndexを作成する …

pythonのライブラリ「japanese_holiday 0.0.4」を使用して日本の祝日を取得する

「pythonでGoogle Calendar APIを使用して日本の祝日を取得するために、APIキーを取得する」でAPIキーを取得したのはこのため。「japanese_holiday 0.0.4」というライブラリはGoogle Calendar APIを使って祝日を取得しているので。 そして遡ると、元々は「Py…

pythonでGoogle Calendar APIを使用して日本の祝日を取得するために、APIキーを取得する

「Pythonでの時系列データの扱い4 〜 「祝日の取得」および「祝日を考慮した営業日の取得」」で、Google Calendar APIを使用するために認証キーを取得する必要がある。 今回はこの手順をメモ。手順は下記。 1.Google Developer Consoleにアクセス 2.Goo…

Pythonでの時系列データの扱い4 〜 「祝日の取得」および「祝日を考慮した営業日の取得」

前回「Pythonでの時系列データの扱い3 〜 時系列データの頻度設定」の続き。前回、次のようなコードで月の最終営業日を取得したが、祝日が考慮されていないことが判明した(当然だが・・・)。 #coding:utf-8 import numpy as np import matplotlib.pyplot …

Pythonでの時系列データの扱い3 〜 時系列データの頻度設定

前回「Pythonでの時系列データの扱い2 〜 時系列データの作成および選択」の続き。特定間隔の時系列データを作成する方法を学ぶ。 #coding:utf-8 import numpy as np import matplotlib.pyplot as plt import pandas as pd import datetime import dateutil…

Pythonでの時系列データの扱い1 〜 文字列とdatetimeの変換

結局、次のように色々できる。 ほぼほぼ、単なる写経になってしまった。。。 #coding:utf-8 import numpy as np import matplotlib.pyplot as plt import pandas as pd import datetime import dateutil #################### datetimeおよびdateutilを使っ…

Pythonでのプロットと可視化(matplotlib編) 〜 4.図のファイルへの保存

前回「Pythonでのプロットと可視化(matplotlib編) 〜 3−2.図の設定(目盛り、ラベル、凡例、注釈)」の続き。ファイル保存の概要は次。 ・plt.savefigを使用してファイルに保存可能 ※)Figureオブジェクトのインスタンスメソッドsavefigと等価 ・ファイ…

Pythonでのプロットと可視化(matplotlib編) 〜 3−2.図の設定(目盛り、ラベル、凡例、注釈)

前回「Pythonでのプロットと可視化(matplotlib編) 〜 3−1.図の設定(余白、色、マーカー、線種)」の続き。◎プロットの装飾方法 下記2通りある。 ・pyplotインタフェースを使う方法 ・matplotlibのネイティブなAPIを使う方法 ※)「The Matplotlib API…

Pythonでのプロットと可視化(matplotlib編) 〜 3−1.図の設定(余白、色、マーカー、線種)

前回「Pythonでのプロットと可視化(matplotlib編) 〜 2.図とサブプロット」の続き。◎サブプロットの周りの余白を調整する ・スペースの調節を最も簡単に行うには、subplots_adjustを使う subplots_adjust(left=None, bottom=None, right=None, top=None,…

Pythonでのプロットと可視化(matplotlib編) 〜 2.図とサブプロット

前回「Pythonでのプロットと可視化(matplotlib編) 〜 1.基本と概要」の続き。今回は、グラフを描くためのスペースを用意し、その中に複数の座標を用意してグラフを描くことが目的。まずは次のコード。 #coding:utf-8 import matplotlib.pyplot as plt ##…

Pythonでのプロットと可視化(matplotlib編) 〜 1.基本と概要

「matplotlib.pyplotとmatplotlib.financeを使ってローソク足を描こうとしたが目的を達成できないでいるw」を書いてから暫く日を開けてしまったが、pythonでのローソク足描画が上手く出来ていない。 幾つかインターネットで調べて試行錯誤したけど、バージ…