相場商売

トレーディングビジネスあれこれ

Python

Pythonその後

ほったらかしてるPythonのその後について・・、 簡単に言うとめんどくさくなったので放置してる状況。ヤフーで過去データを取って最初はよかったのだが、、 アクセス数が多すぎると拒否されるようになった。 で、別のサイトから取ろうかなと思ったところで止…

20章

すべてをまとめる部分。 チェック段階でやっと気づいたが、TextToStockクラスで、 'market_section'を指定しないとうまく動かなかった。 以前の作り方がまずかったらしい。仕方なく今回は'market_section':'東証1部'と指定している。 さかのぼっての大幅な修…

19章

システムの成績を出す部分。 ensure_closeのメソッドを少し変更した。libフォルダのstats.py #!/usr/bin/env python # -*- coding: utf-8 -*- from trade import Trade from myarray import Array # Statsクラス # 取引結果から各種統計を計算 class Stats: …

18章

前回まで作ってきたクラスをまとめる作業。今まで全部チェックフォルダにファイルを詰め込んでいたが、 本と同じ並びに変えた。他のフォルダのモジュールをインポートするには、 import sys,os sys.path.append(os.pardir + "\lib")を最初に追加することでで…

17章

売買ルールつくり。とりあえず作り終え、チェックファイルも作ったが、エラーが出た。rubyのyieldは匿名関数に近いということなので、 rule.pyの_with_valid_indicatorsの引数に式を取るようにしたのだが、 それがどうもまずく、self.check_long(index)の評…

16章

Ruleクラスとその子クラス。かなり複雑になってきた。 チェックの部分では、ストックのデータがないとエラーが出たため 株価データを入れている。 またEntryのチェックで'volume'のデータを入れないとエラーになったので とりあえず1で入れている。他に気に…

15章

TickモジュールTickについては本の発売時とはだいぶ状況が変わっている部分で、 7月22日の後と前ではTickが違い、 また銘柄別でもTopix100の銘柄とそれ以外でTickが異なっている。そのため正確に作るには、引数を価格だけではなく、 価格と日付と銘柄コード…

14章終える

インディケーターをつくっているところで問題が発生。Indicatorクラスで__getitem__(self,key)で エラーをチェックしてるために、 そのIndicatorの親クラスのArrayクラスで def _each_cons(self, span): return zip(*(self[i:] for i in range(span)))が呼び…

13章クリア?

13章をとりあえず終える。なんじゃこりゃと思っていた def [](index)は色々調べた結果、 配列参照演算子ということだった。 (参考) http://jutememo.blogspot.jp/2008/09/python_07.htmlこれはPythonでは def __getitem__(self, key)にあたる。そしてinclude…

13章でつまづく

13章をやろうと思ったが、 具体的に何をしているかがはっきりわからず、 どうしていいかわからない。each def [](index) とメソッドのオーバーライドのあたりが難しい。今まで順調に進んできたがとうぶん止まりそう・・。

12章改

指数移動平均ができないので作り直したarray.pyあらためmyarray.py #!/usr/bin/env python # -*- coding: utf-8 -*- from functools import reduce # Array クラスの拡張 # 合計、平均、移動平均、区間高値・安値を求めるメソッドを追加 # 配列から指標計算…

12章

libフォルダのarray.pyPythonにはRubyのオープンクラスというのはないようなので、 listを継承して作成。Rubyのinjectやeach_consをPython用に変更するのに苦戦した。 each_consはまだいいとして、injectについて調べると Pythonではreduceというのが近いと…

シミュレーション編

11章。libフォルダのtrade.py #!/usr/bin/env python # -*- coding: utf-8 -*- # 取引を表すクラス class Trade: # 仕掛ける def __init__(self, params): self.stock_code = params['stock_code'] self.trade_type = params['trade_type'] self.entry_date …

データ編ラスト

第8章 libフォルダのtext_to_stock.py #!/usr/bin/env python # -*- coding: utf-8 -*- from lib.stock import Stock from lib.stock_list_loader import StockListLoader import os, re, codecs, datetime # テキストデータからStcokクラスのオブジェクトを…

PythonでYahooファイナンスの時系列データを取得してみた

第7章のデータダウンロードについて。まずはlibフォルダのstock_data_getter.py #!/usr/bin/env python # -*- coding: utf-8 -*- import codecs, os import datetime import urllib.request, urllib.error import re # Yahoo!ファイナンスから株価データをダ…

Pythonシストレ第6章

第6章libフォルダのstock_list_loader.py #!/usr/bin/env python # -*- coding: utf-8 -*- import codecs # 銘柄リストを読み込み、銘柄に関する情報を供給するクラス class StockListLoader: def __init__(self, stock_list_file): if stock_list_file == N…

Pythonでシストレ練習第5章その2

第5章まずlibフォルダのstock_list_maker.py #!/usr/bin/env python # -*- coding: utf-8 -*- import os.path import re import urllib.request, urllib.error import codecs # Yahooの銘柄情報ページから情報を取得し、 # 銘柄リストを作るクラス # 証券コ…

Pythonでシストレ第5章その1

第5章のコードをPythonで書く・・の前にRubyについて。第5章のコードをPythonで書く前に、 Rubyでの動作を確認しようと思ったらうまく動かなかった。どうやら本が発売された後に、 Yahooファイナンスのサイトが変更になったようだ。市場情報が取れていなかっ…

Pythonではじめるシステムトレード

タイトルをRubyの本の真似してみた。第4章のコードから始める。 で、いきなりだがPythonのコードはこうなった。libフォルダのstock.py #!/usr/bin/env python # -*- coding: utf-8 -*- # 株を表すクラス class Stock: def __init__(self, code, market, unit…

Pythonでシストレ練習

Pythonを始めた。なぜいきなりPythonかと言うと、 今月半ばに少しだけ参加させてもらったシストレオフ会で プログラミング言語について尋ねたら、 参加者の内、半分くらいの人がPython使ってたから。特にPythonのpandasというライブラリはヘッジファンドの人…