株でExcel VBAでウェブスクレイピングしている人には最適の本です。
VBAができる人ならPythonもすんなり取り組めると思います。
Python学習にはVisual Studio 2019 community(無料版)をインストールする時に、Pythonもチェックしておけば一緒にインストールされ、Visual Studioの開発環境を使ってPythonを動かす事ができますのでお勧めです。
Pythonのパッケージ(ライブラリ)インストールもVisual Studio上からできます。
本書のサンプルソースの最新は本書中にあるリンク先のGitHubにあります。
データベースはDB Browser for SQLiteをインストールすればUI付きでSQLiteを操作できますのでお勧めです。
Visual Studio 2019 communityとDB Browser for SQLiteをインストールし、本書中にあるリンク先のGitHubにある最新サンプルソースで、PythonでSQLiteのデータベースに取り込む事ができる事を確認しています。
なお、SQLiteのデータベースファイルはPythonのソースファイルを同じ場所に置きました。
調整後株価の利用についてここまで的確に詳細に記述されているものを初めて見ました。
テクニカル分析はもちろん、ファンダメンタル分析についての記述も参考になりそうです。
今後は、本書の方法でSQLiteに株価データを取り込んで、オリジナルの取引ルールの検証を行っていきたいと思います。
なお、本書後半で株取引のバックテスト結果例がありますが、このテスト期間は日経平均が上昇相場であった為、かなりの好成績になっています。
アメリカ株とは違って、日本株は過去30年で3回の長期下落相場を経験していますので、それを踏まえた取引ルールを構築する事が必要です。
そして、この本によりそのバックテストも可能なので、実際の取引ルールのアイディアを創造できる人には、その助けになる最適の本です。
●2019/05/13更新
Visual Studio 2019 communityではグラフ表示はできませんので、グラフ表示の動作を見る時はAnaconda3をインストールすると使えるJypyterLab上で実行するとできました。なので、Visual Studio 2019 communityで実行する場合グラフ関係のソースはコメントアウトが必要と思います。
私はExcel VBAで、Visual Studio 2019 community環境の、変数のウォッチを登録、ブレークポイント、ステップ実行などの機能に慣れているので、Visual Studio 2019 community環境でPython開発や実行をしています。エラーがあればそのソース位置でhelp表示を出して止まってくれますし。
●2019/05/24更新
今日最後のリスト5.1のシミュレーションまで実行する事ができました。
決算データは「四半期決算データ」で検索しますとexcelデータで提供しているサイトを見つけました。excelデータのうち連結だけを残す前処理をVBAで行い、そのexcelデータから東証上場銘柄のみをSQLiteに取り込むPythonコードを自力書いて取り込みました。銀行系は営業利益が空欄なので経常利益で埋め、営業利益と経常利益共に空欄はDBから削除しました。
リスト5.1を実行する時の具体的な各閾値は意図的に記述していないように思います。コードを読んで調べる事と著者は期待しているのだと思います。
C言語10年とExcelVBA5年(WEBスクレイピング含め)の経験があったとはいえ、この本を読むまではPythonもSQLiteも初めてだったのにできるようになったのはこの本のおかげです。
環境はWindows10、Visual Studio 2019 community、SQLite3(テーブル作成はGUIのDB Browser for SQLite利用)、Anaconda3付属のJypyterLab(グラフ表示する時)、OS以外無料でLinux環境は不要でした。
Windows10で本書のsimulator.pyのようなオリジナルライブラリをimportする場合は PYTHONPATH という環境変数を追加するとうまくいきます。値の具体例は D:/data/python/lib のように \ ではなく / にする必要があるようです。
あと、「四半期決算データ」で検索すると得られるexcelデータはデータ数が少ないので、同サイトのxbrlから作成したより前からのweb決算データを、難易度が高かったですがスクレイピングで取得しました。なお、営業利益が空欄だとシミュレーションできないので上記の対応が必要です。
以上の事を実施し本書のコードをグラフ表示、最大ドローダウン等も含めすべて動作させる事ができました。
今後は本をよく読んでsimulator.pyの詳細をよく理解し使いこなせるようにして、今考えている株の取引き手法のバックテストを実施したいです。
●2019/06/24更新
WEBや本で公開されている株手法の過去成績をexcelにリストにし、その過去の株価をこの本を参考に分割併合補正を行うpythonコードを作成して補正し、この本で作成したSQLite3の株価DBを使っていろいろな条件を組み合わせバックテストを行い、openpyxlを使って結果をexcelに書き出しVBAで分析を行いました。過去の株価を分割併合補正するロジックは、この本が無かったら自力では難しかったと思います。感謝です。今後は、この本でも触れられているテクニカルをいくつかpythonライブラリを利用して組み合わせ、買いのシグナルが出せるようなものに取り組みたいと思います。
●2019/06/29更新
本書を理解された方への参考情報です。株価追加をYahooファイナンスの時系列csvデータ以外の方法で行っている方で、公開されている株式分割併合情報を divide_union_data に追加しDBに反映されている方は、divide_union_data と applied_divide_union_data の 4628 2018-09-20 5→1併合の日付を 2018-09-25 に修正必要です。Yahooファイナンスで 4628 の 2018-09-20 前後の時系列データをご参照頂ければその理由がお分かりになると思います。なおYahooファイナンスの時系列csvデータのみで株価更新をされている方は対象外です。csvデータから divide_union_data を作成しますので影響が出ません。
●2019/07/17更新
SQLiteForExcelを使って比較的容易にExcel VBAからSQLite3の株価DBにアクセスする事ができました。デメリットはデバッグしにくい点です。ですので、まずはこれまでVBAでスクレイピングし株価を取得していた部分だけを置き換えて確認するのがいいと思います。そうしますとある処理をPythonとVBAのどちらで行った方が良いかの疑問がわいてくると思いますが、Excelの機能に依存する処理(シート100枚をコピーなど)はVBA、バックテストのようにExcelのリストを読み、結果を書き、かつ少し複雑な処理はPythonという感じかと思います。Visual Studio 2019 communityのPythonデバッガが、VBAデバッガより機能が高い為です。
●2020/02/22更新
この本によって作成したSQLite3の株価DBを独自方法で日々更新しそれを元に、pythonでバックテスト条件を記入したExcelファイルをopenpyxlで読み込んで、基本的な結果データを同じExcelファイルに書き戻し、Excel VBAで最大同時保有数の集計や、損益をグラフ表示することで最大ドローダウンが20%以下になっているかを確認しています。テスト期間は少なくとも今から12年分を行っています。リーマンショックでも無難にやり過ごせるか確認する為です。今後はDBの株価テーブルにいくつかのテクニカル値を追加しテストに生かそうと思っています。pythonのテクニカルライブラリはTA-Libを使用していますが、Windows10では普通にはインストールできずこちら→「Windows環境のPythonでTA-Libを使えるようにする」で検索したサイト通りでできました。
●2020/03/12更新
テスト条件一覧を記述したExcel(2019)ファイルをpythonのopenpyxlライブラリで読み込んで、過去株価DBを元にバックテストを行い結果を同じExcelファイルに書き戻す事を行っていますが、Excelファイルに多数のフォームボタン(VBA実行させる為のボタン)等を配置していると、開いた時に警告メッセージが出てそれらが失われます。でもある程度の数なら大丈夫なようです。おそらくopenpyxlかExcelの何らかの制限なんだと思います。
プライム無料体験をお試しいただけます
プライム無料体験で、この注文から無料配送特典をご利用いただけます。
非会員 | プライム会員 | |
---|---|---|
通常配送 | ¥410 - ¥450* | 無料 |
お急ぎ便 | ¥510 - ¥550 | |
お届け日時指定便 | ¥510 - ¥650 |
*Amazon.co.jp発送商品の注文額 ¥3,500以上は非会員も無料
無料体験はいつでもキャンセルできます。30日のプライム無料体験をぜひお試しください。
無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
株とPython─自作プログラムでお金儲けを目指す本 ペーパーバック – 2018/12/21
宮部 保雄
(著)
{"desktop_buybox_group_1":[{"displayPrice":"¥2,200","priceAmount":2200.00,"currencySymbol":"¥","integerValue":"2,200","decimalSeparator":null,"fractionalValue":null,"symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"C614jyjr93TdR52uXBIAMxKbg0GcingEtmimrGUSXmJXyQdQKg6Wm1KUMMsKjXOIWXLI7fHIIccbvhBc%2BrCilfLs%2F0s%2Ftz6MJEd34xNCFYRfhEsuASzoJM58NDlMa8R2sv3hqH4D0Z0%3D","locale":"ja-JP","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}
購入オプションとあわせ買い
【Pythonで株式取引戦略シミュレーターを作って、株取引をはじめてみる! 】
本書は、今まで株式取引の経験がないエンジニアが、Pythonをつかって各種データの収集や管理、自作シミュレーターの開発などを通して株式取引の仕組みや戦略について学ぶことができる株式取引入門書です。
〈本書の対象読者〉
・株式取引に関心がある
・Pythonの基本的な知識がある
本書は、今まで株式取引の経験がないエンジニアが、Pythonをつかって各種データの収集や管理、自作シミュレーターの開発などを通して株式取引の仕組みや戦略について学ぶことができる株式取引入門書です。
〈本書の対象読者〉
・株式取引に関心がある
・Pythonの基本的な知識がある
- 本の長さ116ページ
- 言語日本語
- 出版社インプレスR&D
- 発売日2018/12/21
- 寸法18.2 x 0.69 x 25.7 cm
- ISBN-104844398849
- ISBN-13978-4844398844
よく一緒に購入されている商品
対象商品: 株とPython─自作プログラムでお金儲けを目指す本
¥2,200¥2,200
最短で5月14日 火曜日のお届け予定です
在庫あり。
¥3,960¥3,960
最短で5月14日 火曜日のお届け予定です
残り18点(入荷予定あり)
総額:
当社の価格を見るには、これら商品をカートに追加してください。
ポイントの合計:
pt
もう一度お試しください
追加されました
一緒に購入する商品を選択してください。
この商品をチェックした人はこんな商品もチェックしています
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
商品の説明
著者について
BIOSやファームウエアなどの低レイヤーソフト開発に従事。2005年より主に趣味の電子工作をネタにした技術系同人活動を始め現在に至る。もっと早くから株式投資を始めればよかった、が人生の後悔のひとつ。
登録情報
- 出版社 : インプレスR&D (2018/12/21)
- 発売日 : 2018/12/21
- 言語 : 日本語
- ペーパーバック : 116ページ
- ISBN-10 : 4844398849
- ISBN-13 : 978-4844398844
- 寸法 : 18.2 x 0.69 x 25.7 cm
- Amazon 売れ筋ランキング: - 230,118位本 (本の売れ筋ランキングを見る)
- - 167位情報・コンピュータ産業
- - 11,317位投資・金融・会社経営 (本)
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
2019年4月13日に日本でレビュー済み
Amazonで購入
2023年12月14日に日本でレビュー済み
Amazonで購入
文章自体は洗練されている訳ではないが、実際に株を研究しPythonでプログラムを組んだ著者だからの秀逸の一冊です。
2023年4月2日に日本でレビュー済み
Amazonで購入
githubに公開されていたコードが上手く動かなかったので自分で作ったりして勉強になりました。
2019年1月2日に日本でレビュー済み
Amazonで購入
単にバックテストしたい、システムトレードしたい、という場合には株式であればトレードステーションや岡三RSSが、FXならばメタトレーダーがあるだろう。
しかし、それらのソフトでは、ディープラーニング等の機械学習やAIを使ったトレード戦略を使うことは極めて難しい。
そのため、本格的な機械学習等を使ったバックテストや取引戦略を実行するには結局自作のプログラムに頼るしかない。その際には、本格的なライブラリの種類と書籍やWEB等の豊富な情報源に恵まれているpythonに白羽の矢が立つであろう。まさに本書はそうしたニーズに応える本である。
類書としては『Python3ではじめるシステムトレード』という本があるが、主にpythonによる金融の統計分析といった内容で、それはそれで役には立つが、バックテストに関する内容がほんの少ししかないため、その目的で読むと肩透かしを食らう。
同様に、『個人投資家のためのFinTechプログラミング』もpythonを使っての分析やアルトコインを自動取引するBOTの解説に詳しいが同じくバックテストに関しては記載が殆どない。
結局、pythonを使ってバックテストを実行するというコンセプトの本は、2019年1月初頭現在、本書以外は存在しない。そのような向きの書籍を求めている人間は即買いの本である。
本書の内容としては、株式に関する一般的知識と、ゴールデンクロス・デッドクロス、ファンダメンタル指標によるバックテストシミュレーションのコードとその解説に加えて、WEBからのスクレイピングによる株価関連の情報取得方法やデータベースへの格納方法の解説がある。
スクレイピングによる株価情報の取得についてはスクレイピング本に良く解説があるが、大体はスクレイピング禁止のYahoo!ファイナンスからのものである。
本書においては、Yahoo!ファイナンスのスクレイピング禁止に対応して、株式の銘柄情報に関しては株探から、実際の株価情報に関してはVIP倶楽部からのスクレイピングを解説している。また、スクレイピング後にSQLiteへの格納手順が記されている。その点は他書には見られない特徴であろう。
バックテストに関する部分は単一銘柄のみならず、多数の銘柄をポートフォリオレベルで実行しているため、大いに参考になろう。また戦略としても証券会社が発表している目標株価を使った戦略というのは珍しいのでその点でも参考になった。
本書に記載のコードは全てgithubで公開されている。少々複雑で難しいが、pythonでのコーディングに慣れている人がしっかりコードを追えば理解できるであろう。
ただし、本書はpython文法の基本事項、スクレイピングに関する基礎知識(HTMLなど)、SQL文法などは既知のものとしているので、その辺りの知識がない人は別途下記の本等で勉強する必要があるので注意が必要だ。
■python(プログラミング未修者)
Pythonスタートブック [増補改訂版] 辻 真吾 (著)
■python(プログラミング既修者)
みんなのPython 第4版 柴田 淳 (著)
■スクレイピング
Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド- 加藤 耕太 (著)
■SQL
これからはじめる SQL入門 池内 孝啓(著)
※もう1点難があるとすれば、機械学習を利用したバックテストの例がなかったことだが、機械学習に関する解説書は山のようにあるし、本書を読んだ後で自力でそのような事例をコーディングすることは難しくないと思われる。
しかし、それらのソフトでは、ディープラーニング等の機械学習やAIを使ったトレード戦略を使うことは極めて難しい。
そのため、本格的な機械学習等を使ったバックテストや取引戦略を実行するには結局自作のプログラムに頼るしかない。その際には、本格的なライブラリの種類と書籍やWEB等の豊富な情報源に恵まれているpythonに白羽の矢が立つであろう。まさに本書はそうしたニーズに応える本である。
類書としては『Python3ではじめるシステムトレード』という本があるが、主にpythonによる金融の統計分析といった内容で、それはそれで役には立つが、バックテストに関する内容がほんの少ししかないため、その目的で読むと肩透かしを食らう。
同様に、『個人投資家のためのFinTechプログラミング』もpythonを使っての分析やアルトコインを自動取引するBOTの解説に詳しいが同じくバックテストに関しては記載が殆どない。
結局、pythonを使ってバックテストを実行するというコンセプトの本は、2019年1月初頭現在、本書以外は存在しない。そのような向きの書籍を求めている人間は即買いの本である。
本書の内容としては、株式に関する一般的知識と、ゴールデンクロス・デッドクロス、ファンダメンタル指標によるバックテストシミュレーションのコードとその解説に加えて、WEBからのスクレイピングによる株価関連の情報取得方法やデータベースへの格納方法の解説がある。
スクレイピングによる株価情報の取得についてはスクレイピング本に良く解説があるが、大体はスクレイピング禁止のYahoo!ファイナンスからのものである。
本書においては、Yahoo!ファイナンスのスクレイピング禁止に対応して、株式の銘柄情報に関しては株探から、実際の株価情報に関してはVIP倶楽部からのスクレイピングを解説している。また、スクレイピング後にSQLiteへの格納手順が記されている。その点は他書には見られない特徴であろう。
バックテストに関する部分は単一銘柄のみならず、多数の銘柄をポートフォリオレベルで実行しているため、大いに参考になろう。また戦略としても証券会社が発表している目標株価を使った戦略というのは珍しいのでその点でも参考になった。
本書に記載のコードは全てgithubで公開されている。少々複雑で難しいが、pythonでのコーディングに慣れている人がしっかりコードを追えば理解できるであろう。
ただし、本書はpython文法の基本事項、スクレイピングに関する基礎知識(HTMLなど)、SQL文法などは既知のものとしているので、その辺りの知識がない人は別途下記の本等で勉強する必要があるので注意が必要だ。
■python(プログラミング未修者)
Pythonスタートブック [増補改訂版] 辻 真吾 (著)
■python(プログラミング既修者)
みんなのPython 第4版 柴田 淳 (著)
■スクレイピング
Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド- 加藤 耕太 (著)
■SQL
これからはじめる SQL入門 池内 孝啓(著)
※もう1点難があるとすれば、機械学習を利用したバックテストの例がなかったことだが、機械学習に関する解説書は山のようにあるし、本書を読んだ後で自力でそのような事例をコーディングすることは難しくないと思われる。
2019年5月10日に日本でレビュー済み
Amazonで購入
まだ50%ほどしか読んでませんが、レビュー依頼がAmazonから来たのでレビューします。
この本はなかなかすごいです。
まず前半で株の概説ページで株というものが思っていた以上に奥が深い、興味深いものだということがわかりました。
そして中盤から具体的なPythonでのコーディングに移っていきます。
対象読者層はある程度、プログラム知識がある人です。趣味か仕事でコード書いたことがある人でないと、何が何だかわからない本になるかと思います。
Pythonのコーディングをしたことがない私でも理解できるコードを書いてくれています。
しかもそのままポチポチ打ち込むだけで、実際に使えるコードのようです。
Pythonでスクレイピングした株式情報データをSQLLiteに落としこみ、DBを操作するライブラリの紹介とシュミレーター構築などの具体的なコーディング。という流れの本だと思います。
この本があれば株式市場で儲けられる。
というような本でなく、ひたすらPythonを使って情報処理。という本だと思います。
なので、プログラムの勉強中の人などが読むとかなり気づきが入りそうな本だと思います。
私自身は株式相場の情報処理よりもPythonという今まで触ったことのないプログラム言語のほうに興味が行き、さっそくPythonのプログラムガイド・サイトなどを見て回っているほどです。
本はもちろん最後まで読みます。
最後のほうで、“いよいよ株で儲ける秘訣!”みたいなのがあるかもしれませんので、楽しみにしています。
この本はなかなかすごいです。
まず前半で株の概説ページで株というものが思っていた以上に奥が深い、興味深いものだということがわかりました。
そして中盤から具体的なPythonでのコーディングに移っていきます。
対象読者層はある程度、プログラム知識がある人です。趣味か仕事でコード書いたことがある人でないと、何が何だかわからない本になるかと思います。
Pythonのコーディングをしたことがない私でも理解できるコードを書いてくれています。
しかもそのままポチポチ打ち込むだけで、実際に使えるコードのようです。
Pythonでスクレイピングした株式情報データをSQLLiteに落としこみ、DBを操作するライブラリの紹介とシュミレーター構築などの具体的なコーディング。という流れの本だと思います。
この本があれば株式市場で儲けられる。
というような本でなく、ひたすらPythonを使って情報処理。という本だと思います。
なので、プログラムの勉強中の人などが読むとかなり気づきが入りそうな本だと思います。
私自身は株式相場の情報処理よりもPythonという今まで触ったことのないプログラム言語のほうに興味が行き、さっそくPythonのプログラムガイド・サイトなどを見て回っているほどです。
本はもちろん最後まで読みます。
最後のほうで、“いよいよ株で儲ける秘訣!”みたいなのがあるかもしれませんので、楽しみにしています。