思ったことをそのままに

思ったことをそのままに

自分が好きなようにいろんな記事を書きます

とある大学生がFXでお小遣いを稼げるようになるまで 【第3話 初学習でまさかの勝率...】

 

 

これまでのあらすじ

とある工学部情報系の大学に通う大学生,オレオ.

前回は,機械学習に必要不可欠である,大量の過去の取引データを入手するこができた.

 

第2話はこちらからどうぞ

oreohaoleo.hatenablog.com

 

 

 

Google Colab,死す 

とりあえず,ダウンロードしたcsvファイルを取りこめるようにしようと,さっそくGoogle Colabにプログラムを打ち込んだオレオ.

しかしここで解決できない問題が発生してしまう.

エラー文は撮り忘れた..

TypeError:'str' object is not callable

とうエラー文が出たのだが,これがどうやっても解決できなかった.

エラー文で検索してみると,'str'という変数を使うと起こるエラーらしいことはわかったのだが,オレオはそんな変数をどこにも使っていない.

f:id:oreohaoleo:20200911122558p:plain

ちなみにローカルのUbuntu上で実行したところ何も問題が起きなかったため,プログラムは正しいと思われる.(もちろんドライブはマウント済み)

 

一日寝かせて実行してみるとこれが問題なく動く....

 

「は????昨日悩んでた時間返せ!!!!!!!!!!」

 

と,こんな謎事件が起こったため,オレオは今後Google Colabを使うことをやめた.

 

Google Colabしか使える環境にない読者には本当に申し訳ない...

 

 

 

 

モデルをつくりたい!が,先にバックテストとやらをやる

気を取り直して,,,

 

これまでに機械学習に関する記事をたくさん見てきたが,そもそもFXに関しても初心者であるため,予想の立て方が全くわからない.

 

単に「機械学習と言っても,どんな手法を用いて,どんなデータどのぐらい与えればいいのかもわからない.

  

前回,大量の過去データをダウンロードしたときの参考記事の続編があったため,同様に参考にしながら進めていく.

 

前回参考にした記事

qiita.com

 

今回参考に進めていく記事

qiita.com

 

どうやらバックテストとやらを実装していくらしい.

OANDAではデモ環境などを使ってシミュレーションを行う方法が用意されており、アルゴリズムの検証用として非常に信頼がおけますが、実時間と同じテスト時間が必要となる事が難点です。
例えば3ヶ月の期間のテストを実施しようと思ったら本当に3ヶ月の時間がかかってしまいます。

しかし例えば過去36ヵ月分のデータを用意して、最初の33ヵ月を学習用データ、残りの3ヵ月分をバックテスト用データとし、その3ヵ月をあたかも未来のデータかのようにシミュレーションができれば、迅速に繰り返しテストが可能となります。

引用:https://qiita.com/THERE2/items/3cef22f8bf63cc3ed362

 

 

「たしかに,過去データはたくさんあるからすぐに何回でもシミュレーションできるのは賢い」

「リアルタイムでめっちゃ時間かけてテストしてしまうところだったよ..」 

 

今回はBacktesting.pyというものを使うらしく,pipで簡単にインストールできるとのこと.

 

「【pip install backtesting】っと」

f:id:oreohaoleo:20200911121158p:plain

「あれ,見つからない..」


 「もしかして,これもPython3.7以降じゃないと対応してないやつ??」

 

「【python3.7 -m pip install backtesting】っと」

python〇〇 -m と文頭に付け加えることで指定したバージョンのPythonでpip installができるようになる

f:id:oreohaoleo:20200911121256p:plain

「おおおお!いけた!!!」

 

天才的なひらめきによりうまくいったため,思わず自分に惚れたオレオ.

 

「これで下準備はオッケーらしい」

 

 

 

書いてある通りコピペして実行してみる

 実行したソースコードはこちら

import datetime
import pandas as pd
from backtesting import Strategy
from backtesting import Backtest

df=pd.read_csv('./data/USD_JPY_201601-201908_M10.csv', index_col='Datetime')
df.index = pd.to_datetime(df.index)

class myCustomStrategy(Strategy):
def init(self):
pass

def next(self):
self.buy if self.data.Close[-1]> self.data.Open[-1] else self.sell()

bt = Backtest(df[100000:], myCustomStrategy, cash=100000, commission=.00004)
print(bt.run())

(Qiitaみたいな感じにできなくてごめんなさい.Tabキーが効かなかったので,インデントがおかしいです.これは実行しなくてもいいです.) 

 

ちなみに,

書いてある内容は1mmも理解できていません.

 

1から理解するのはめちゃめちゃ時間かかるから,とりあえずどんどん実行してなんとなく理解していこうという精神.

 

実行するとこんな結果が出た.

f:id:oreohaoleo:20200911164019p:plain

参照している記事にそれぞれの項目の解説があります.

 

参考にしてる記事だと,全部数字が出てるみたいなんだけどなぜか「NaN」になってるものがある.

 

csvファイルも同じだし,コードはそのままコピペしてるのになんで結果が違うんだろう..」

 

「まあ動いてるっぽいし,これが本命ではないからとりあえずヨシ!」

 

これは作成したモデルを評価するためのスクリプトだからとりあえずこれでいいだろうという精神.

 

 

 

ようやくモデルの作成に入る

またしても続編の記事を参考にコピペしていく.

qiita.com

 

とりあえずで,書いてあるコードをコピペして実行してみる.

 

コードはこちら(ソースコードを共有するためだけにGoogle Colabを使ってます.Google Colab上では実行できません)

colab.research.google.com

(実行する前に,作成したモデルを保存する「models」というファイルを作成しておくこと)

 

「よし,いけええええ!」

f:id:oreohaoleo:20200915095332p:plain


 「おおおおお!なんか学習してる!」

 

 5分ほどで終わった.(もちろん実行環境によって変わります) 

 

 

 

つくったモデルをバックテストで評価する

参考にしている記事の通りにコピペしてもうまくいかなかったので,学習プログラムの文を追記してあげたら動いた.

 

コードはこちら(ソースコードを共有するためだけにGoogle Colabを使ってます.Google Colab上では実行できません)

colab.research.google.com

 

結果はこちら

f:id:oreohaoleo:20200915101153p:plain

「なんか警告出てるけど,動いてるからいいか..」

 

今回は30エポックで学習して勝率がちょうど50%とのこと.

www.st-hakky-blog.com

資産を10万円でスタートして最後は9万4千円になったらしい.

 

 

 

「負けてんじゃん!!!!!」

 

 

 

はじめての学習では負けてしまったオレオ.

今後は勝率を上げれるように調整しつつ,リアルタイムの為替情報を与えられるように改良していく予定.

 

次回に続く...

とある大学生がFXでお小遣いを稼げるようになるまで 【第2話 過去データ大量ゲット!】

 

 

これまでのあらすじ

とある工学部情報系の大学に通う大学生,オレオ.

バイナリーオプション機械学習を使って儲けようとするも,バイナリーオプションが今後禁止される可能性があることをを知り,FXに切り替えた.

 

第1話はこちらからどうぞ

oreohaoleo.hatenablog.com

 

 

まずは下調べ

 

オレオは機械学習がわからぬ.

 

機械学習と言っても,どんな感じで始めればいいのかわかんないな」

「とりあえず, 【機械学習 fx】  検索っと」

 

f:id:oreohaoleo:20200907160151p:plain

 

「ん?なんかピッタリな記事があるぞ」

 

qiita.com

 あれ,もうこの物語のシリーズいらなくね...?

 てか,ツヨツヨな人ならこの物語見るの止めて上の記事を参考にしたほうが絶対いいいと思う.うん.

 

内容としては,機械学習ツヨツヨの人が書いた,機械学習用いてfx予測プログラムを作成する初心者向けの記事である(たぶん)

 

 

一通り記事を見たオレオ.

 

「けっこう丁寧に解説してあるけど,これをそのまま使うのは実用的じゃないっぽい」

「あと,この記事見てもよくわからんかった」←理解力0

 

彼は少しでも複雑な数式を見てしまうと思考が停止してしまうのだ.

 

「自分で理解しながらやっていきたいから,あの記事は参考程度に見ながらやろ~」

 

 

 

 環境つくっていくぞ!

「ローカルの環境でやるのも良さそうだけど,機械学習って言ったらGPU!」

「ってことでGoogle Colaboratory使っちゃお」

 

Google Colaboratoryについてはこちらの記事をどうぞ

note.com

 

 簡単に説明すると,

  • ブラウザ上でPython実行できるよ
  • GPUも使っていいよ
  • 共有も簡単にできるよ

という感じ.

Googleアカウントがあれば誰でも使える上に,めんどくさい環境構築が不要なことも大きなメリットである.

 

 「環境はこれで良さそうだから,次は必要なデータを集めるか」

 

自分の思うようなデータが収集できないと,いいモデルも立てられないため,

機械学習において,データ収集はかなり重要らしい(本で見た)

 

 

 

OandaはOandaって読むよね?

 調べていると,またピッタリな記事を見つけたオレオ.

qiita.com

 

どうやらOanda APIという謎の組織からデータを取得できるらしい..

 

「OandaはOandaって発音すればいいの?それともOanda?どっちだろう」

 

Oanda API について↓

Oandaという会社が提供しているFXの自動売買のためのAPIです。
個人でも利用できるAPIを提供している会社は少ないのですが、OandaはpythonからAPIを利用するためのパッケージ(oandapyV20)も存在しており、pythonユーザにとっては非常に使い易いサービスとなっています。

引用:https://qiita.com/THERE2/items/f716565c884e7750c6c1

 

 なお、デモ環境では、架空のお金で本番取引と同じように取引を行う事ができ、自動売買のモデルが本当に利益を出せるのかシミュレーションする事が出来ます。
精度の悪いモデルや自動売買の処理のバグで自分のお金を溶かしてしまうリスクを軽減する事ができますね。

引用:https://qiita.com/THERE2/items/f716565c884e7750c6c1

 

「ええ,神ぃ...」

 

APIの利用には口座開設が必要とのことで,さっそく口座をつくっていくオレオ.(デモ口座でいいらしい?)

www.oanda.jp

 

 

f:id:oreohaoleo:20200909101957p:plain

 

項目を埋めて登録する.

※SMS認証はなかったため,電話番号はダミーでも問題なさそう.(自分は下一桁だけ数字を変えた)

 

f:id:oreohaoleo:20200909101648p:plain

 

連絡メールアドレス宛にIDとパスワードが届くのでそれを入力してログインする.

 

ログインするとこんな画面になって,赤丸で囲んでいる「APIアクセスの管理」をクリックする.

f:id:oreohaoleo:20200909102706p:plain

 

「発行する」をクリック

f:id:oreohaoleo:20200909102906p:plain

 

英数字の長い文字列をコピーしておく.これがアクセストークンとなる.

f:id:oreohaoleo:20200909103144p:plain

 

これでOandaのAPIを使う準備は完了.

 

「ここまでは順調だね」

 

 

次はいよいよデータを取得するぞ.

 

 

 

Pythonを使って過去データを大量にゲット

流れとしてはさっき貼った記事↓に書いてあるとおりに進めていく.

qiita.com

 

Pythonでoandaを使えるようにするためのコマンド↓

pip install oandapyV20

 

「これGoogle Colab だとどうやって実行すればいいんだろう??」

 

調べてみると「!」を行頭につけることでGoogle ColabでもLinuxコマンドを実行できるようになるらしい.

 

f:id:oreohaoleo:20200909105436p:plain

「お,うまくいったみたい」

 

 あとは記事に書いてある通りにソースコードを書いていく.

 

 ソースコードはこちらから(Google Colabだと実行できません.下で説明してます)

colab.research.google.com

 

繰り返すが,このソースコードは↓の記事のコードそのままであり,細かい解説については↓を見るように.

qiita.com

 

 

 

Google Colabの壁にぶつかる

結論から言うと,Google ColabのPythonのバージョンの変更の仕方がわからず,過去データのダウンロードはGoogle Colabだとできない説が濃厚になっていた.(ご存知の方がいれば教えてください..)

 

「fromisoformat」とやらがPython3.7以降じゃないと使えないらしく,Google ColabのPythonのバージョンを調べてみると

 

f:id:oreohaoleo:20200909171110p:plain

「あらギリギリ足りない」(足りないとは...)

 

そもそもPythonのバージョン関係なしにスクリプトが動くのかを確認するため,ローカル環境のUbuntu(もちろんPythonは3.7以降)にて実行したところ,問題なく動いた.(やったぜ)

なので,Python3.7以降が使える環境にある人は,↑のソースコードをそのままコピペすれば実行できるはず.(IDとアクセストークン書き換えるのと,「pip install oandapyV20」はしておいてね!)

 

Google Colab使っていくぜ!とか言っちゃったけど,各自Python3.7以降が使える環境で実行してね!になっちゃった...」

 

個人的には,プログラム関連の初心者でも一緒にできるような物語にしていく予定だったのだが,早速破綻した.

 

申し訳程度に,今回ダウンロードできた過去のFXデータをここに残しておく.

このデータがあれば今回のスクリプトを実行する必要はない.(自分好みのデータを入手したい場合はソースコードの該当部分をイジる必要がある)

drive.google.com


 

「なんか,いろいろあったけど,過去データは入手できたから,まあ,いいか...次行こ...」 

 

 

 

次回へと続く....

とある大学生がFXでお小遣いを稼げるようになるまで 【第1話 機械学習でいける説】

 

 

 

あらすじ

とある工学部情報系の大学に通う大学生,オレオ.

過去にバイトを経験し,肉体労働をしなくても楽にお金を稼げないかと思い,いろんなお金の稼ぎ方を模索している.

 

 

いろんな投資

オレオは以前からブログを少しずつ更新していたが,なかなか思うようにPV数(閲覧数)が増えずに悩んでいた.そんなとき,友人が株で儲けた話を聞き,いろいろと考える.

 

「ブログみたいにコツコツやるのもいけど,やっぱりお金を使う投資のほうが儲かるよな~」

 

投資で有名な株は以前からよく調べてはいたものの,なにかと手が出せずにいたオレオ.

いろんな投資を調べていると,ハイローオーストラリア(バイナリーオプション)というFXをわかりやすくした取引があることを知る.

 

ハイロー

このハイローを簡単に説明すると,注文時の為替レートが,一定時間後にそれより上がっているか,下がっているかを予想するだけの単純なトレードである.

ルールの単純さ,結果がすぐに出ることから,やり方を間違えるとただのギャンブルになる.

 

下のリンクからデモ版が体験できます.仮想の資金を使って,実際のレートでデモできるので普通に楽しめます.https://demotrade.highlow.com/

 

下の動画はギャンブル感覚でハイローをするとどうなるのかを学べる良い教育動画.


【フルフリ】78秒で105万をハイローで溶かす【ふわっち】【ニコ生】 FX

 

 

 「株もいいけど,なんかハイローのほうが楽しそうだな.ハイローやってみたくなってきた」

 

いかにもカモになりそうなタイプだが,情報系を専攻しているオレオはここでひらめく.

 

「そうだ,よく聞く機械学習とやらをこれに使えば素人でも勝てるんじゃね?」

 

 

 

機械学習

FXの知識は皆無だが,過去の取引データを大量に食わせればベテラン並のトレードができるのではないかという,いかにも機械学習初心者ならではの発想.

 

もちろん,それには機械学習初心者なりの根拠があった.

  • ハイローは上がっているか,下がっているかの2択を予想する単純さ
  • 二項分布とか使えそう(小並感)
  • 過去データなんてどうにか入手or生成できるやろ,という楽観的な考え
  • 実際にお金を使わなくても正答率はわかる

 

「仮に,作成したモデルが素晴らしい正答率を出せばもう働かなくてよくなるし,使い物にならない正答率でも,ある程度の機械学習の知識が得られるっていう,メリットだらけやないかい」

 

ということでモチベが上がりまくったオレオ.

 

 

 

さっそくつまずく

しかし,ハイロー(バイナリーオプション)を色々調べているとショッキングな事実が明らかになる.

 

fxinspect.com

 

どうやら,バイナリーオプションは世界中で禁止されるようになったらしい.ただ,日本と何カ国かはまだ合法とのこと.

 

「仮にこのハイロー専用のモデルが完成したとしても,後で禁止になったら作った意味がなくなるな..」

 

「よし,じゃあFX用の機械学習モデルをつくるぞ!」

 

うん...いろいろと心配である.

 

 

じゃあFXやるか

FXとバイナリーオプションの違いについてはこちらをどうぞ

binaryblog.xsrv.jp

 

違いを簡単に説明すると,FXのほうがバイナリーオプションより取引が少し複雑です.

 

「あちゃあ,FXだと機械学習のモデルつくるの大変そうだな....」

 「でも,やってみないとわからないよね!さっそく作っていくぞ!」

 

 

 ということで,機械学習をするために実際にモデルを作成することになったオレオ.

 

次回はこちら.

oreohaoleo.hatenablog.com

 

個人的に推している美女Youtuber (Part 2)

 

f:id:oreohaoleo:20200828190118j:plain

※みなさんの推しYouTuberが入っていないかもしれませんが,それはご了承ください.

 

Part1をまだ見てない方はこちらから

oreohaoleo.hatenablog.com

では,続編のPart2いきましょう

 

 

 

いけちゃん


【22歳大学生】びしょ濡れで新大久保を食べ歩いてきた【vlog】

 

  • ストゼロめっちゃ飲む
  • ぼっち大学生
  • 最近の更新頻度すごく高い
  • メンヘラ

 

 

めちゃめちゃ可愛い.

滑舌が絶妙に悪いのも押せるポイント.

心配になるぐらい料理にタバスコめっちゃかけます

 

あと巨乳です.

 

 

いけちゃんのチャンネルはこちらから

www.youtube.com

 

 

 

まこちゃん


【日常】一人暮らしのナイトルーティン

  • 透明感
  • 黒髪ロング
  • 彼女感溢れる動画
  • 編集が凝っている

 

 

美白で透明感がすごい...

このルーティンの動画を見ると,美容にすごい時間をかけているんだなぁと感服します.

身近にいそうな可愛さだけど,いない.そんな絶妙な可愛さに親近感が湧きます.(伝われこの気持ち)

 

 

メイク動画や美容用品も紹介しているので女性の方もいかがでしょうか?

 

 

 まこちゃんのチャンネルはこちらから

www.youtube.com

 

 

 

 

やねちゃん


やね流ヘアケアと髪色歴史。

 

  • ギャップがすごい
  • チョコミン党
  • ミスiD2018受賞者
  • ピアスたまらん

 

個人的にかなり推しています.

見た目めっちゃギャルというかイケイケみたい見えるかもしれませんが,喋り方がフニャフニャでゆるーい感じなのでギャップ萌え不可避です

しかも耳にめっちゃピアス開けててかわいいほんと推せる好き

 

 

やねちゃんのチャンネルはこちら

www.youtube.com

 

 

 

心愛ちゃん


【簡単】 サクサク食パンキャラメルポップコーン作り方🍞🍯

 

  • 日本語が上手な韓国の美人さん
  • 黒髪ロング
  • 喋り方がかわいい
  • 華奢

 

純韓国人なのに日本語がすごく上手.

まつげがすごく特徴的で,体がすごく細くて色白.

ヤンデレな感じというか,彼女になったらめっちゃ甘えてきそうな感じがたまりませんね.

 

 

 

心愛ちゃんのチャンネルはこちら

www.youtube.com

 

 

 

 

美好くん


【食べ歩き】鎌倉&江ノ島 ひとり旅!

 

  • お人形さんみたい
  • 純日本人
  • ブランドを立ち上げてる

美白かつカラコンを入れているような綺麗な目

一見ハーフのように見えますが,純日本人なんですよね.

すごく茶髪が似合ってます.可愛いです.

 

 

 

自身がプロデュースするブランド『sō4ū(ソウフォーユー)』を立ち上げています.

www.canshop.jp

見た感じ限定販売みたいで今は売ってない??

 

 

 

美好くんのチャンネルはこちら

www.youtube.com

 

 

いかがでしたでしょうか?

 

実はまだまだ推している美女YouTuberはいます

Part3へ続く...

 

 

皆さんの推しがいればコメントで教えてください!

 

ではでは.

Be a Hentai. 男だからこそ【いち髪】を使うべき理由

 

 

f:id:oreohaoleo:20200826163757j:plain

 

私はですが,いち髪を愛用しています.

 

理由は単純.

自分の髪に女の子が宿るからです

(通報しないで)

 

 

 

私がいち髪と出会ったのはいち髪のお試しパック.(ホテルに置いてあるような袋タイプのシャンプーね)

たまたま家にあって,どんなもんか気になって使ってみたらやばい

 

ここで一句,

 

風呂上がり

クンクンクン

あ,女の子

 

 

自分の髪から女の子の匂いがします(ガチ)

 

一時期,「女子高生の匂いをまとえる」と有名になったDEOCOがありますが,個人的にはいち髪のほうがよっぽどリアルだと思います.

www.tv-tokyo.co.jp

 

【注意】

  • 数日間は自分の髪の匂いをよく嗅ぐようになります.
  • 短髪であればあるほど効果は薄くなると思います.

 

 私はよく自分の髪の匂いを嗅いでうっとりしてます.

ぶっちゃけいち髪じゃなくても女性用シャンプーならなんでもいいんかもね.

 

いち髪の公式サイトはこちら

www.kracie.co.jp

 

ではでは.