SlideShare a Scribd company logo
1 of 31
仮想通貨の自動取引BOTの作成
18NC006
石澤 芳瑠
1
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
2
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
3
はじめに
なぜこの課題にしたのか
• 使用している株価データの分析アプリ(trading view)では毎月課金が
必要であることから自分でデータを分析したら安上がりであるから
• trading viewでは、テクニカル分析指標しか対応していないため、機械
学習などを用いた統計分析を行うには自分で分析するしかないから
• 金融工学に興味があり、金融データの分析に入門してみたかったから
• あわよくば金儲けがしたい
4
はじめに
当初の目標と課題
1. 銘柄の選定
 どのような方法で選定を行うのか
 選定するデータをどこから収集するのか
2. 選択した指標に対してテクニカル分析を実施
 選択した指標のOHLCVデータの収集方法
 日足、1時間足、分足、秒足など収集区間をどれにするのか
 収集したデータの補完
3. テクニカル分析を利用してどのようなタイミングで購入するかを選択し、
自動購入、自動売却を行う
 テクニカル分析をどの指標まで実装するのか
4. テクニカル分析と機械学習を組み合わせてより精度の高い時系列分析を
行う
 機械学習領域の知識不足
5. 上記のモデルのアプリケーション化
5
はじめに
目標達成状況
1. 銘柄の選定(一部分のみ達成)
 どのような方法で選定を行うのか
 選定するデータをどこから収集するのか
2. 選択した指標に対してテクニカル分析を実施(達成できず)
 選択した指標のOHLCVデータの収集方法
 日足、1時間足、分足、秒足など収集区間をどれにするのか
 収集したデータの補完
3. テクニカル分析を利用してどのようなタイミングで購入するかを選択し、
自動購入、自動売却を行う(達成できず)
 テクニカル分析をどの指標まで実装するのか
4. テクニカル分析と機械学習を組み合わせてより精度の高い時系列分析を
行う
 機械学習領域の知識不足
5. 上記のモデルのアプリケーション化(達成できず)
6
補足
trading viewとは
• S&P500
• 日経平均株価
• BTCUSD
• BTCJPY
などの金融データに
対してテクニカル
分析を施すことが
できるアプリ
7
補足
テクニカル分析とは
過去の値動きからトレン
ドやパターンを分析する
こと。
右の図では、移動平均と
いう数日間の終値の平均
を取ったものをグラフ化
して分析している。
8
補足
OHLCVデータとは
• 始値(Open)
• 高値(High)
• 安値(Low)
• 終値(Close)
• 出来高(Volume)
を一つのまとまりとして
扱うデータのこと
9
補足
PROPHETとは
時系列データに対して、
年、週、日の季節性を加
えたモデルに基づいて予
測をするライブラリ
テクニカル分析では、季
節的な分析ができないた
めPROPHETを使用して季
節性を取り入れた分析を
行う。
10
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
11
使用技術
• プログラミング言語
• python
• データベース
• SQLite3
• 仮想化技術
• docker
• 主要なライブラリ
• pandas
• numpy
• prophet
12
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
13
銘柄の選定手法 1
ファンダメンタル手法を使った選定
• ファンダメンタル手法では、上場企業から公開される財務諸表を使っ
て企業の健全性、経営状況、競争有利性、競合相手、市場での立場な
どを分析することで銘柄の選定を行う手法の一つである。
• この分析は、財務諸表に基づいて分析を行うため株式にしか対応する
ことができないため、貴金属、仮想通貨などの分析はできない。
• また、財務諸表から分析するにあたり、PDFデータで公開されている
財務諸表を自前で分析するか、分析結果をサブスクリプションで購入
する必要がある。
14
銘柄の選定手法 2
PROPHETを使った相場予測
• この分析手法では、PROPHETを使って季節性やトレンドをモデルに基
づいて分析する。
• この手法では、株式に限らず貴金属、仮想通貨など財務諸表に頼らな
い分析が可能である。
• 分析するにあたって用意するデータもない
15
銘柄の選定手法 まとめ
• 今回のプロジェクトでは、仮想通
貨や株式、貴金属など投資対象を
絞っていないため、ファンダメン
タル分析ではなくPROPHETでの
分析が適当
• また、ファンダメンタル分析を行
う際に必要なデータをプロジェク
ト期間内に調達することはできな
いためコストの面でもPROPHET
が有利である
16
分析手法
貴金属への
分析
仮想通貨への
分析
株式への
分析
分析に必要な
データ
ファンダ
メンタル
× × ◎ 必要
PROPHET ○ ○ ○ なし
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
17
選定データ
今回、銘柄選定の手法検証に使用したデータは以下の通りである。
以下のデータの日足を検証する。
また、使用する時系列データを利益率に変換する作業を行なったデータ
と行なっていないデータでも比較して検証した。
• Bitcoin
• Ethereum
• S&P500
18
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
19
選定手法の検証結果 1
S&P500 収益率への収束あり
• S&P500のモデルでは、年始から
下がり始め、年末に向けて徐々
に上昇するという季節性を読み
取ることができた。
• また、予測グラフでは、2022年
までの予測が広く、あまり正確
に予測できていないことがわか
る。
20
選定手法の検証結果 2
S&P500 収益率への収束なし
• 収益率への収束有無を変えても
S&P500のモデルでは、年始から
下がり始め、年末に向けて徐々
に上昇するという季節性を読み
取ることができた。
• また、予測グラフでは、収益率
への収束をしない方が、2022年
までの予測が正確にできている
ことがわかる。
21
選定手法の検証結果 3
Bitcoin 収益率への収束あり
• Bitcoinのモデルでは、7月~9月が
最低値で徐々に上がり3月をピーク
に7月の最低値に向けて下がるとい
う季節性を読み取ることができた。
• Bitcoinの予測グラフでは、2023年
までの予測では予測範囲が広いが、
2022年ではある程度確度を持って
上昇すると予測できている。だが、
過去のデータを見ると過学習して
いるようにも見える。
22
選定手法の検証結果 4
Bitcoin 収益率への収束なし
• 収益率への収束有無を変えても、
Bitcoinのモデルでも、7月~9月が
最低値で徐々に上がり3月をピーク
に7月の最低値に向けて下がるとい
う季節性を読み取ることができた。
• Bitcoinの予測グラフでは、2022年
までの予測として収益率を収束し
た方が範囲が狭く予測していたが、
収益率への収束なしでは、2023年
まである程度の方向性を持って予
測できている。
23
選定手法の検証結果 5
Ethereum 収益率への収束あり
• Ethereumの収益率への収束ありの
モデルでは、9月~11月が最低値で
徐々に上がり3月をピークに9月の
最低値に向けて下がるという季節
性を読み取ることができた。
• Ethereumの予測グラフでも、2023
年までの予測では予測範囲が広い
が、2022年ではある程度確度を
持って上昇すると予測できている。
だが、過去のデータを見ると過学
習しているようにも見える。
24
選定手法の検証結果 6
Ethereum 収益率への収束なし
• Ethereumの収益率への収束なしの
モデルでは、収束ありのモデルと
比べて7月が最低値で蛇行しながら
徐々に上がり3月をピークに7月ま
で蛇行しながら推移している。
• Ethereumの予測グラフでも、2022
年までの予測として収益率を収束
した方が範囲が狭く予測していた
が、収益率への収束なしでは、
2023年まである程度の方向性を
持って予測できている。
25
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
26
今回のプロジェクトで得られたこと
• 貴金属、株式、仮想通貨含め金融データの取得が非常に難しいこと
• そもそもデータを公開している場所が少ない
• 安定的に品質の良いデータをすぐに取得するのは無料では難しい
• 不安定な品質の悪いデータを処理しようとすると膨大な時間がかかる(取得できな
い場合の例外処理、nullなどが入っていた場合の補完処理)
• 統計学の知識がない状況では出力されてきたデータが正しいのか判断
できないこと
• プロジェクトの分析部分に確率統計を復習する時間などを組み込む必要があった
• 時系列データを扱うデータベース設計を適切に行う必要があること
• アウトプットやインプットに時間がかかると相場予測に致命的であること
27
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
28
今回のプロジェクトの課題点
品質の良いデータOHLCVデータ、財務諸表データを取得するとなると、
月1.5万円ほどかかってしまう。
そうなると、よほど高い精度で相場予測をしない限りインデックス投資
などのリターンに勝つことができない。
OHLCVデータをコツコツデータベースに蓄積して自作のOHLCVデータ
を作成することで月にかかる予算を削減しつつ一部データに財務諸表
データを適用してパフォーマンスを測っていく過程が必要である。
29
目次
• はじめに
• 使用技術
• 銘柄の選定手法
• 選定データ
• 選定手法の検証結果
• 今回のプロジェクトで得られたこと
• 今回のプロジェクトの課題点
• まとめ
30
まとめ
• 株式以外の金融データに対してPROPHETを使った銘柄の選定を行い、
過去のデータからある程度の方向性や年スパンの将来性を予測した。
• 統計学の知識がないと適切に処理できているのかどうかわからない。
• 予想以上に金融データの調達、データ処理に時間がかかり分析に時間
を割くことができなかった。
• 品質の良いデータを集めるとなるとインデックス投資にリターンで勝
つことができない。
• 個人がこのようなBOTで勝つには自前でデータを収集してコストを削
減する必要があることがわかった。
31

More Related Content

Similar to sophia.pptx

一人三役!一気通貫でデータ活用するエンジニアリング
一人三役!一気通貫でデータ活用するエンジニアリング一人三役!一気通貫でデータ活用するエンジニアリング
一人三役!一気通貫でデータ活用するエンジニアリングRecruit Lifestyle Co., Ltd.
 
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -MicroAd, Inc.(Engineer)
 
20140306 主査説明会 企画パート 002
20140306 主査説明会 企画パート 00220140306 主査説明会 企画パート 002
20140306 主査説明会 企画パート 002Momentum Japan
 
Ml15minutes 190330
Ml15minutes 190330Ml15minutes 190330
Ml15minutes 190330Rio Kurihara
 
Retty recommendation project
Retty recommendation projectRetty recommendation project
Retty recommendation projectJiro Iwanaga
 
データ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディングデータ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディング株式会社MonotaRO Tech Team
 
20140605_じどうかの窓口_ソフトウェアテスト自動化のRoi
20140605_じどうかの窓口_ソフトウェアテスト自動化のRoi20140605_じどうかの窓口_ソフトウェアテスト自動化のRoi
20140605_じどうかの窓口_ソフトウェアテスト自動化のRoiSHIFT Inc.
 
LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話 LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話 GIG inc.
 
資格学校のトライアル申込者数
資格学校のトライアル申込者数資格学校のトライアル申込者数
資格学校のトライアル申込者数XICA
 
【Medix】解析サービスのご案内資料
【Medix】解析サービスのご案内資料【Medix】解析サービスのご案内資料
【Medix】解析サービスのご案内資料Shinichiro Oho
 
ソフトウェア工学2023 02 上流工程
ソフトウェア工学2023 02 上流工程ソフトウェア工学2023 02 上流工程
ソフトウェア工学2023 02 上流工程Toru Tamaki
 
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!Unity Technologies Japan K.K.
 
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用tomohiro odan
 
CMS学会 第三回 研究報告
CMS学会 第三回 研究報告CMS学会 第三回 研究報告
CMS学会 第三回 研究報告loftwork
 
データ分析コンペでスキルアップしよう.pdf
データ分析コンペでスキルアップしよう.pdfデータ分析コンペでスキルアップしよう.pdf
データ分析コンペでスキルアップしよう.pdfH. K
 
【共有用】20151031 web解析士セミナー資料
【共有用】20151031 web解析士セミナー資料 【共有用】20151031 web解析士セミナー資料
【共有用】20151031 web解析士セミナー資料 TOMOFUMI ENOMOTO
 
[RIT]MLmodeling service
[RIT]MLmodeling service[RIT]MLmodeling service
[RIT]MLmodeling serviceRIT
 
分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組み分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組みHiroyuki Hanaue
 
20190606_ml_and_buisiness
20190606_ml_and_buisiness20190606_ml_and_buisiness
20190606_ml_and_buisinessYoichi Tokita
 

Similar to sophia.pptx (20)

一人三役!一気通貫でデータ活用するエンジニアリング
一人三役!一気通貫でデータ活用するエンジニアリング一人三役!一気通貫でデータ活用するエンジニアリング
一人三役!一気通貫でデータ活用するエンジニアリング
 
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
 
20140306 主査説明会 企画パート 002
20140306 主査説明会 企画パート 00220140306 主査説明会 企画パート 002
20140306 主査説明会 企画パート 002
 
Ml15minutes 190330
Ml15minutes 190330Ml15minutes 190330
Ml15minutes 190330
 
Endto end
Endto endEndto end
Endto end
 
Retty recommendation project
Retty recommendation projectRetty recommendation project
Retty recommendation project
 
データ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディングデータ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディング
 
20140605_じどうかの窓口_ソフトウェアテスト自動化のRoi
20140605_じどうかの窓口_ソフトウェアテスト自動化のRoi20140605_じどうかの窓口_ソフトウェアテスト自動化のRoi
20140605_じどうかの窓口_ソフトウェアテスト自動化のRoi
 
LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話 LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話
 
資格学校のトライアル申込者数
資格学校のトライアル申込者数資格学校のトライアル申込者数
資格学校のトライアル申込者数
 
【Medix】解析サービスのご案内資料
【Medix】解析サービスのご案内資料【Medix】解析サービスのご案内資料
【Medix】解析サービスのご案内資料
 
ソフトウェア工学2023 02 上流工程
ソフトウェア工学2023 02 上流工程ソフトウェア工学2023 02 上流工程
ソフトウェア工学2023 02 上流工程
 
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
 
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用
 
CMS学会 第三回 研究報告
CMS学会 第三回 研究報告CMS学会 第三回 研究報告
CMS学会 第三回 研究報告
 
データ分析コンペでスキルアップしよう.pdf
データ分析コンペでスキルアップしよう.pdfデータ分析コンペでスキルアップしよう.pdf
データ分析コンペでスキルアップしよう.pdf
 
【共有用】20151031 web解析士セミナー資料
【共有用】20151031 web解析士セミナー資料 【共有用】20151031 web解析士セミナー資料
【共有用】20151031 web解析士セミナー資料
 
[RIT]MLmodeling service
[RIT]MLmodeling service[RIT]MLmodeling service
[RIT]MLmodeling service
 
分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組み分析可能なアジャイルQAでの取り組み
分析可能なアジャイルQAでの取り組み
 
20190606_ml_and_buisiness
20190606_ml_and_buisiness20190606_ml_and_buisiness
20190606_ml_and_buisiness
 

sophia.pptx