Help us understand the problem. What are the problem?
元ブログ記事とソースはこちらから。 ロジック RNNではよく「次の日の終値を予測する」といった記事を見かけますが、 実際のトレードではそのような予測は行いません。 実際のトレードでは必ず__ストップロス__を設定するので、 たとえ終値が上昇していても日中下がってしまってストップロスに引っかかってしまったら意味がありません。 今回は「10pips下がる前に30pips上昇する」という条件をつけてエントリーポイントを学習できるかを考えます。 まずはデータを取得 こちらからEUR/USDの1分足データをダウンロードします。 そのデータを読み込み、シグナルを付与します。 シグナルは上述したとおりですが、より詳しく言うと、 対象は4時間(240分)。 下にnegative pips動く前に上にpositive pips動いていたら買い 上下にpositive pipsも動かなかった場合は凪 上にne
前回までRNN(LSTM)や他の識別器で為替の予測を行ってきましたが、今回はCNNで予測をしてみたいと思います。 第1回 TensorFlow (ディープラーニング)で為替(FX)の予測をしてみる 第2回 ディープじゃない機械学習で為替(FX)の予測をしてみる データの準備 前回まで終値の差分を学習データとしていましたが、今回は終値そのものを学習データにしてみます。 また、今回はUSDJPYの1時間足、2008年1月1日〜2017年3月10日を利用し、前半95%を学習、後半5%をテスト(バリデーション)としました。 CNNは画像認識で高い精度を発揮していますが、画像以外でも応用することは可能です。例えば終値が以下のようなデータがあったとします。 これを画像に変換します。 このように1次元の画像と見なすことができます。 色が複数チャネルあるように見えますが実際はグレースケールです。カラーマッ
機械学習というと深層学習(ディープラーニング)を連想されがちですが、それ以外にも沢山あります。また、ディープじゃ無いからダメかというとそうでもありません。 というわけで、前回の記事のデータを別の機械学習でやってみます。 関連シリーズ - 第1回 TensorFlow (ディープラーニング)で為替(FX)の予測をしてみる - 第2回 ディープじゃない機械学習で為替(FX)の予測をしてみる - 第3回 TensorFlow (ディープラーニング)で為替(FX)の予測をしてみる CNN編 TL;DR 資産の増減をグラフにしました。半年ほどで12%の利益になってますが、学習の条件に対して結果がロバストでは無いので今後もうまくいくとは限りません。 GitHubにNotebookを置いてあります。 Forkして遊んでみてください。 https://github.com/hayatoy/ml-forex
今回は以下の論文を参考に、過去の値動きの変動量を学習させてみます。 終値の変動値を特徴量として、次に上がるか or 下がるかを予測する2クラス問題です。 Artificial neural networks approach to the forecast of stock market price movements (精度が平均8割もあるけど…ホントかなぁ) ヒストリカルデータの取得 フリーでデータをダウンロードできるところはたくさんありますが、細かい時間単位(5分足とか1分足)になると数が限られます。有名どころだと FXDD OANDA (API) Dukascopy この辺りでしょうか。ただ注意しなければならないのは、どこでダウンロードしても同じデータであるとは限らない点です。 な… 何を言っているのか わからねーと思うが、俺も何をされたのかわからなかった……… 恐ろしいものの片鱗
機械学習ライブラリ「TensorFlow」と、オープンソースのシステムトレードフレームワーク「Jiji」を組み合わせて、機械学習を使った為替(FX)のトレードシステムを作るチュートリアルです。 システムのセットアップからはじめて、機械学習モデルの作成、トレーニング、それを使って実際にトレードを行うところまで、具体例を交えて解説します。 システム構成 次のようなシステムを作ります。 Jijiのバックテスト機能を使ってトレードデータを収集。これをTensorFlowに入力してモデルをトレーニングします。 予測する内容については後述。 訓練したモデルを使って予測結果を返すREST APIを作り、トレード時にJijiから呼び出して使います。 レート情報の取得やトレードには、OANDA REST API を利用 トレード状況の確認やアルゴリズムの管理は、ブラウザ or スマホアプリで 外出先でも状況
Excel は滅びぬ! Excel の力こそ日本企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 #エディタの使い方 ##エディタを表示する Alt + F11 で VB エディタを表示できる。 ##環境設定 ###背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 ###イミディエイトウィンドウ ####イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、__イミディエイトウィンドウ__と呼ばれるウィンドウ。 Ctrl + G で表示される。 ####イミディエイトウィンドウに出
1ヶ月ほど前にGoogleから公開されたTensorFlowですが、TensorFlow.orgのチュートリアルをひととおり試してみたものの、その本質的理解がなかなか進まずに自分独自の利用に歩みが進まないケースが散見されます。私も現在学習中なのですが、自分が前に進むうえで理解の整理に役に立ったことを共有します。「そんなことは知っている」という方もいらっしゃるとは思いますがご容赦ください。 TensorFlowの最初の利用方法紹介である「GET STARTED」では「y = 0.1 x + 0.3」という数式を使って生成したxとyを学習データとして、y = W x + b という数式のWとbを最適化していく事例が掲載されています(下記URL)。 https://www.tensorflow.org/versions/master/get_started/index.html この事例はx,
前回の続き。 ディープラーニングのフレームワークであるTensorFlowを使用して株価を予想するぞ~、というお話です。ちなみに前回は完全に失敗でした。 前回のコメントで、tawagoさんから「Googleが同じようなことしている」という情報をいただいたので、そちらをコピ・・・インスパイアしてみました。 前回との相違点 前回は、「数日分の日経平均を使用して、次の日の日経平均が上がるか、下がるか、変わらないか(3択)を予想する」ものでした。 Googleのデモでは、「数日分の世界中の株価指数(ダウ、日経平均、FTSE100、DAXなど)を使用して、次の日のS&Pが上がるか下がるか(2択)を予想する」という内容でした。 ということで、下記が前回からの主な変更点となります。 - 「上がるか」「下がるか」の2択 - 日経平均だけでなく、他国の株価指数も使用 - 隠れ層x2、ユニット数は50,25
つい先日、とあるシステムの処理の流れと一部処理のフローチャートを付けた見積り資料を書くことになり、ちょうど良い機会だったので、MarkdownでUML図表が描ける「StackEdit」を使って、オールMarkdownで資料を作成してみた。 いやぁ、打ち込んだテキストがリアルタイムに図表化されていく様は、とても新鮮で、そしてすごく面白かった。資料が出来上がった後の達成感というか、完成した図表を見た時の感動が結構はんぱない。技術系の資料作成でこんな良い体験ができたのは初めてかもしれんな…(笑) ──と、結構感動的な体験ができるMarkdownでのUML図表作成なんだが、せっかくなのでそれの書き方を含めてもう少し突っ込んだTIPSとしてまとめておこうかと思った次第。 Markdown+UML とは? とりあえず、「Markdown+UML」というのは私の造語だ。まぁ、正確に言うなら「UML di
巷ではDeep Learningとか急に盛り上がりだして、機械学習でもいっちょやってみるかー、と分厚くて黄色い表紙の本に手をだしたもののまったく手が出ず(数式で脳みそが詰む)、そうか僕には機械学習向いてなかったんだ、と白い目で空を見上げ始めたら、ちょっとこの記事を最後まで見るといいことが書いてあるかもしれません。 対象 勉強に時間が取れない社会人プログラマ そろそろ上司やらお客様から「機械学習使えばこんなの簡単なんちゃうん?」と言われそうな人 理系で数学はやってきたつもりだが、微分とか行列とか言われても困っちゃう人 この記事で行うこと 数学の基礎知識に慣れるための、数式が最初から出てこないプログラマ向けの数学入門書の紹介 機械学習の初学者には鉄板の、オンライン講座(MOOC)の機械学習コース紹介 環境 WindowsでもMacでもLinuxでも大丈夫(MATLAB/Octaveというツール
Pandasのグラフ描画機能 この記事ではPandasのPlot機能について扱います。 Pandasはデータの加工・集計のためのツールとしてその有用性が広く知られていますが、同時に優れた可視化機能を備えているということは、意外にあまり知られていません。 この機能は Pandas.DataFrame.plot() もしくは Pandas Plot と呼ばれるものです。 Pandas Plotを使いこなすことが出来るようになれば、 データの読み込み、保持 データの加工 データの集計 データの可視化 というデータ分析の一連のプロセスを全てPandasで完結させることが出来る、つまり分析の「揺りかごから墓場まで」を実現することが出来ます。 Pandasのプロット以外の機能について この記事ではPandasのデータハンドリングなどに関わる機能は説明しません。 そちらにも興味がある方は下記の記事などを
TensorFlowは主に機械学習、特に多層ニューラルネットワーク(ディープラーニング)を実装するためのライブラリになりますが、その基本的な仕組みを理解するのにそうした難しい話は特に必要ありません。 本記事では、TensorFlowの仕組みを、算数程度の簡単な計算をベースに紐解いていきたいと思います。 TensorFlowの特徴 初めに、TensorFlowの特徴についてまとめておきたいと思います。 TensorFlowは、その名前の通りTensor(多次元配列、行列などに相当)のFlow(計算処理)を記述するためのツールです。その特徴としては、以下のような点が挙げられます。 スケーラビリティ PC、サーバー、はてはモバイル端末まで、各マシンのリソースに応じてスケールする。つまり、低スペックなものでもそれなりに動くし、GPUを積んだハイスペックなサーバーであればそのリソースをフルに活用した
サーバー上のファイルの中身を確認するときって、どんなコマンドを使っていますか? 私は、短いファイルの場合はcat、長いファイルの場合はlessを使っています。 リモートエクスプローラーから、sakuraとかで開くより楽ちんです。 あなたがlessを使いたくなる理由 moreの上位互換 「上位互換」という響きだけで、使いたくなりますよね? 名前の由来も、「moreの対義語だから」です。素敵ですね。 「moreと何が違うの?」という説明は、今どきmoreを使う機会が無いという理由から割愛します。 manやgitコマンドのデフォルトのページャー 何かが当たり前のようにlessコマンドを使っている。 これはもう、使いたくなりますよね? 簡単、早い サーバー上で と入力すればパッと画面が切り替わって、ファイルの内容を読むことができます。起動もとても早いです。 時間の節約になるんだから、使いたくなりま
この記事はVim Advent Calendar 2013 : ATNDの99日目の記事です。 画面分割・タブページのススメ みなさん、分割してますか? みなさん、タブページ使ってますか? 僕はどちらも大好きです。 サンプルを見ながら写経する TODOやメモを見ながら編集 関数の定義元などを見ながら編集 編集目的に合わせてタブを分ける などなど。 ものぐさな僕は、コードを書くときはガシガシ分割したりしながらコードを書いています。 これらの機能は当然設定やプラグインの導入などをしなくても使えますが自分はsキーをprefixとしたキーマッピングをしています。 元は<C-w>の代わりにsを使っていただけですが、タブウィンドウ関連やバッファ関連にも使うようにしたことで、格段に便利になりました。自分の設定例を合わせて掲載するので、良ければ参考にしてください。 各種機能とマッピング ウィンドウを分割す
iOSのテストってぶっちゃけおざなりだったわけですが、サーバサイドはちゃんとテスト書いてるのにクライアントサイドだけ書かないとだんだん品質が不安になってくるわけです。 これまでも多少なりとも努力してきたつもりですが、iOSの場合、テスト書いといて良かったみたいなケースがこれまでまるでなくて、むしろAPIの動作確認のため書くみたいな。個人的に非常にしょぼい状況だったわけです。 ただXcode5でTest周りが強化され、かつ個人的にしっくり来るテストフレームワークの組み合わせが見つかったので、これでテンション上がってバリバリテスト書ける気がしてきたのでまとめてみました。 テンション上がらないと何にもできないっすもんね! KIFって あのカード決済のSquareが自社向けに作ったテストフレームワークです。 https://github.com/kif-framework/KIF 特徴としては以下
(2014-06-09 ... 18) Bootstrap 3の学習記録ノートです。 できるだけ手を抜かず隅々まできちんと調査し、コードはほぼ全て実際に試して確認しました。 元々公開を意図したものではありませんが、ここまで詳細に調べた資料はそうはないと思いますので最低限の体裁を整えて公開します。みなさんのお役に立てば幸いです。 なおHTML部分はほぼ全てjadeで記述しています。jadeを知らないと理解できないノートになってしまっていますが、生のHTMLではとてもこのスピードでは学習できません。どうかご了承下さい。 なお「ここは違うのでは」「こうした方がよいのでは」などという点がありましたらGitHubのissuesかpull requestなどでお教え頂けるとありがたいです(6/19記)。 (Qiita用に追加) Qiitaコメントでのご指摘も歓迎します。 その後しばらくしてバージョンが
by @mixiappwchr 下記の記事の中でもちらっと紹介したのですが、開発時のビルドを毎回やり直さずに修正できるXcode Pluginが非常に便利なので紹介したいと思います。 細かいチューニングを繰り返す場合に絶大な威力を発揮します。 DeNA中の人が事例で語る、アニメーションやデザインのアプリを効率よく開発するためのTips ここで書きましたが、このプラグインを使うと ビルドやり直ししてアプリ再起動など、いっさい必要ありません。 利点としては実際は裏でビルドしてるので、主にビルド時間というより、アプリが再起動が必要なくなる事です。 例えば深いところにあるUIの修正となると大きく威力を発揮します。 修正 ↓ アプリ再起動 ↓ そのページまで行く と行った事が 修正 ↓ 確認 ですみます。 シミュレータだけでなく、TCPで情報を送ってるので実機とmacが通信できるネットワークにいるな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く