crz33 さん プロフィール

  •  
crz33さん: ブログで副収入を稼ぐまで
ハンドル名crz33 さん
ブログタイトルブログで副収入を稼ぐまで
ブログURLhttps://www.crz33.com/
サイト紹介文ブログで副収入を稼げるまでのSEO対策やアクセス解析、WordPressの対策内容をまとめています。
自由文システムエンジニアをしながら副収入を得られたらなと思いブログを作り始めました。ノウハウ、軌跡を残していくので参考になれば見に来てください。
参加カテゴリー
更新頻度(1年)情報提供86回 / 243日(平均2.5回/週) - 参加 2017/09/04 13:20

crz33 さんのブログ記事

  • FXのランダムウォークを検証
  • FXの市場のランダムウォーク性を検証します。「PythonでのFXのランダムウォークを検証」でやりましたが、「PythonでのFXのランダムウォーク検証を高速化」で検証プログラムの高速化ができたので、検証パターンを増やしてみます。エントリータイミングランダムにエントリーしたいので、サイコロを振って、ある数字が出たら買い等でもよいですが、サイコロの偏りの検証にもなってきてしまいます。なので、毎分、常に買いポジションを [続きを読む]
  • 【保存版】PythonでのFXのシステムトレード検証
  • FXのシステムトレードを目指し、アルゴリズムの検証をしています。それらの記事のまとめページです。検証環境構築Pythonで検証環境を構築しています。これらのプログラムやTipsをまとめています。メタトレーダ4(MT4)関係 MT4でFXのランダムウォークを検証Pythonでのデータ処理 PythonでFXのヒストリカルデータ分析 導入編 PythonでFXのランダムウォークを検証 PythonでFXのランダムウォーク検証を高速化Pythonでの描画 Pythonでロ [続きを読む]
  • PythonでFXのランダムウォーク検証を高速化
  • PythonでのFXのランダムウォークを検証で作成した、「2017年の1年間分のヒストリカルデータを使って、毎時0分に常に買いのオーダーを入れたら勝率5割になるか?」と検証したプログラムを高速化しました。高速化にあたって、手法をPythonの高速化のまとめ Ver.1にまとめています。結果、PythonでのFXのランダムウォークを検証では3分かかっていた1年間分のシミュレーションが、0.1秒で終わるようになりました。なんと、1,500倍はや [続きを読む]
  • Pythonの高速化のまとめ Ver.1
  • PythonでのFXのランダムウォークを検証で、はじめてのPythonプログラムを実装しましたが、書き方工夫すればもっと早くなるのでは?という疑問があったのでいろいろ試行錯誤しました。まずは、ランダムウォークのソースを改変する前に、どこが遅いのかなぁと検討した性能劣化のポイントとそれらの対策を纏めていきたいと思います。他の言語からのヒント私は、過去下記のスクリプト言語の経験があります。経験談なので読み飛ばしても [続きを読む]
  • PythonでFXのランダムウォークを検証
  • 「MT4でのFXのランダムウォークを検証」で実施したランダムウォークの検証をPythonでも実施しました。MT4でのバックテストだとMQLで記述しなければならず、いろんなパターンを作っていく上で効率が上がらない為、Pythonでバックテストできるように実装しました。作りはじめから結果が完全一致するまで、1日かかりましたが、逆に1日で一通り揃えて、デバッグできてしまうあたり、Pythonはいいなと思いました。ちなみにPythonでプロ [続きを読む]
  • Pythonのディクショナリに属性とアクセスするには
  • ディクショナリ(dict)に「data.attr」というようにアクセスしたくなりませんか?その方法を探していたら見つかったので、紹介しておきたいと思います。Python tricks: accessing dictionary items as object attributesやりたいこと下記のディクショナリがあった場合に、mydict.key1とアクセスしたい場合どうすればよいかということです。mydict = dict(key1=1, key2=dict(key3=3, key4=4))mydict['key1'] # OKだが、指定が面倒my [続きを読む]
  • Pythonのクロージャでできること
  • 私はPythonは型が柔軟なので、ゴリゴリにクラス実装するのは良くないと思っています。書籍で、クロージャを多用すると複雑になるので、やめといたほうがよいという記述が見受けられますが、私はクラスをたくさん作って、継承していくほうが複雑でロジックを追いにくくなると考えています。ここでは、クロージャについて、シンプルなものから徐々に複雑にしながら実装パターンを考察していきたいと思います。シンプルなクロージャま [続きを読む]
  • Atom上にPython開発環境を整える
  • Atom上にPython開発環境を整える手順を纏めます。Pythonの実行環境は、Bash on Windowsで構築しています。記事末尾のリンクを参照ください。HydrogenHydrogenは、おすすめパッケージの最上位にあり、40万を超えるダウンロードあります。コーディングと実行がフュージョンされている感じです。文節を選択して実行し、確認もエディタ上に表示できます。インストール「Ctrl+,」で「Settings」を開き、「Install」を開いて、「Hydrog [続きを読む]
  • 【保存版】Python on Atomの環境構築のまとめ
  • Pythonのコーディング環境として、Atomを選びました。その環境構築の手順を纏めています。基本まずは、Pythonの環境および、Atomとの連携までのセットアップです。「WindowsでPython環境を作る」「Atomのセットアップと初期設定」「Atom上にPython開発環境を整える」pythonのコーディングに関するTipsについても書いているので、こちらもよければ読んでください。 Python Tips [続きを読む]
  • WindowsでPython環境を作る
  • WindowsにPythonの実行環境をセットアップします。Bash on Windows上で環境構築する方法は、「【保存版】Bash on Windowsの環境構築のまとめ」を参照しください。Pythonのインストール「Download Python」からダウンロードします。インストール先は、「C:PythonPython36-32」に変更しました。パスを通すために、環境変数へ「C:PythonPython36-32」「C:PythonPython36-32Scripts」を追加します。jupyter + matplotlibjupyterとmatpl [続きを読む]
  • Atomのセットアップと初期設定
  • 最近Pythonを使い始めました。これまで Bash on Windows + emacsで開発してきましたが、保管や実行でストレスを感じ始めたので、Atomが使えないかと思っています。今後、Atomに乗り換えるかもしれないので、手順や試行錯誤を残していきます。AtomのインストールAtomからダウンロードします。最新は「Windows For 64-bit Windows 7 or later Ver. 1.25.0」でした。日本語化「Ctrl+,」で「Settings」を開き、「Install」を開いて、 [続きを読む]
  • plotlyでローソク足とインジケータの両方表示する方法
  • 「Pythonでローソク足の表示方法」でplotlyを使ったローソク足を表示できるようになりました。例えば、移動平均等のインジケータを同時に表示するにはどうしたらよいか?その方法を調べたので、その結果を記事にします。インジケータのデータを作成するまず、ヒストリカルデータは、「PythonでFXのヒストリカルデータ分析 導入編」で作成したticksを使います。ただし、長いので、3時間分だけ切り取りって使います。>>> df = ticks[ [続きを読む]
  • Pythonでローソク足の表示方法
  • pythonでFXのヒストリカルデータをローソク足で描画する方法を調べました。私がやりたいことは、Python上でバックテストをして、結果の敗因の原因を調べるためにチャートを見るためです。この調査で使うデータについて「PythonでFXのヒストリカルデータ分析 導入編」 で作成したDataFrameのticksを使います。試してみたい方は、この記事を読んでください。ただし、データ数が多すぎるので、下記のように1時間分を取り出したdfを使 [続きを読む]
  • PythonでFXのヒストリカルデータ分析 導入編
  • この記事では、FXのヒストリカルデータを扱う初歩的なところを纏めます。ヒストリカルデータの入手するヒストリカルデータの入手については、MT4を使います。MT4でヒストリカルデータを入手し、それをCSVに出力してPythonで読み込みます。CSVへの出力方法については、下記の記事を参照してください。「MT4のヒストリカルデータをCSVに出力(エクスポート)する」第一弾として、2018/3/12(月)から2018/3/16(金)までのEURUSDの1分足の [続きを読む]
  • Pythonのシーケンスオブジェクト
  • 文字列やリスト、タプルはシーケンスオブジェクトです。ここでは、シーケンス共通の特徴や活用のTipsをまとめます。インデクシングシーケンスは複数項目を順序を持って並べたものなので、各要素にポジション指定でアクセスできます。ポジションの考え方は下記です。先頭が0-1が末尾(先頭が0でそこから一つ後ろで末尾から数えると覚えれば良い)# 準備>>> x = list(range(10))>>> x[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# インデクシング>> [続きを読む]
  • Pythonのビルトインオブジェクト
  • Pythonのビルトインオブジェクトについて、勉強中に気になったとこだけサンプル交えてメモしたものです。ここで扱うのは、下記オブジェクトです。数値文字列リストディクショナリタプルシーケンスやループでの活用など込み入ったTipsは別途まとめる予定です。数値数値オブジェクト作成系数値系のリテラルまずは、数値のオブジェクトを作るリテラルです。どの数値オブジェクトを作っているかはコメントを参照してください。#整数の1 [続きを読む]
  • MT4のヒストリカルデータをCSVに出力(エクスポート)する
  • PythonでFXの自動売買の研究をしようと思っています。「MT4とPythonの連携」でPythonと通信での連携を調査しましたが、データの受け合わたしだけであれば、ファイル連携が早いです。そこで、今回はMT4のヒストリカルデータをCSVに出力するスクリプトを作ったので紹介します。Pythonで読むつもりでCSVへ出力します。ヒストリカルデータの入手。下記の記事を参考に入手します。「MT4でのバックテストの準備」CSV出力用のスクリプト実 [続きを読む]
  • 【保存版】Bash on Windowsの環境構築のまとめ
  • このブログで紹介している Bash on Windows のTipsが多くなってきたのでサイトマップとしてまとめました。良さそうな記事を順次追記していきます。基本セットアップ下記を上から順にセットアップ。「Bash on Windows のセットアップ」「Bash on Windows の apt が遅いのでサーバを変える」「Bash on Windows でホームディレクトリ変更」「Bash on Windows で X Window を動かす」「Bash on Windows のターミナルをurxvtにする」私 [続きを読む]
  • Bash on Windows のセットアップ
  • セットアップは、いたるところに紹介されているので、ググればよいです。このページでは、再セットアップだけ紹介します。Bash on windowsはどこに入っているか?C:Users%USERNAME%AppDataLocallxss削除C:> lxrun /uninstall /full/fullオプションは、ホームディレクトリ(ユーザ領域)も削除するために指定しています。私は、ホームディレクトリは別でマウントするので削除してもOKなので。インストールC:> lxrun /installデフォ [続きを読む]
  • MT4でのFXのランダムウォークを検証
  • システムトレードを始める前に市場がランダムウォークなのか検証してみました。取引ルール毎時、0分に取引全取引で買い指値10pips、逆指値10pips検証条件EUR/USDスプレッド0.2pips分足(今回のケースでは時間足でもよかった)2017.1.1から2017.12.31まで結果1年間で6,108の取引があり、3073の利確で勝率にすると50.31%でした。念の為、2016年のデータでテストしたら、51.28%の勝率でした。わかったこと適当に売買しても勝率5割という [続きを読む]
  • MT4でのFXのランダムウォークを検証
  • システムトレードを始める前に市場がランダムウォークなのか検証してみました。取引ルール毎時、0分に取引全取引で買い指値10pips、逆指値10pips検証条件EUR/USDスプレッド0.2pips分足(今回のケースでは時間足でもよかった)2017.1.1から2017.12.31まで結果1年間で6,108の取引があり、3073の利確で勝率にすると50.31%でした。念の為、2016年のデータでテストしたら、51.28%の勝率でした。わかったこと適当に売買しても勝率5割という [続きを読む]
  • MT4とPythonの連携
  • MT4でEAを作るにはMQLで記述しないといけません。MQLはC言語に近い言語で、C言語は大学の頃に習った程度で得意ではないので色々試すだけで大変です。普段開発で使っているJava等で記述できると、うれしいなと思って色々調べたら、下記のような良いページを見つけました。外部世界と情報交換するメタトレーダー4 エキスパートアドバイザーMQLのソケットの使用およびシグナルプロバイダになる方法Raw Socket Client for MT4???この例 [続きを読む]
  • MT4で初めてのEA
  • MT4でEAを作ってみました。将来的には、Pythonと連携してロジックはPython側で実装したいです。MT4のMQL4のリファレンスとして参考にしているのが、http://yukifx.web.fc2.com/sub/reference/00_root/cone/ref_root.htmlです。まずはテンプレートMetaEditorでエキスパートアドバイザーを作ってみました。作成時のオプションで選べるのは下記。OnTimer 指定時間間隔ごとに動作OnChartEvent マウス などのイベントOnTester ス [続きを読む]
  • MT4でのバックテストの準備
  • 本を読んで手法を勉強したり、日頃の相場から手法を思いついたとき、いきなりリアル相場で売買するより、過去の相場で成り立つ手法なのか検証したくなりますよね。そこで、MT4で裁量・自動のバックテスト環境を準備します。MT4のセットアップバックテスト環境は、リアル口座やそのMT4とは別に用意したほうが良いです。デモ口座を作るMT4のソフトも別でインストールデモ口座を作る理由は、誤ってリアル口座でトレードしてしまわない [続きを読む]
  • Bash on Windows のtmux+emacsでクリップボードでコピペ
  • Bash on Windowsでemacsを使ってますが、emacsのyank(Ctrl+wとか)とTerminal(urxvt)やWindows側とクリップボードが共有できなく困っていました。デフォルトの状態は、WindowsのクリップボードはBoWへ共有できていて、Windowsでコピーしたものをurxvtへ貼り付けは「Shift+Ins」で貼り付けできるurxvtでマウス選択したものはWidndowsで「Ctrl+v」で貼り付けできるできないのは、urxvt上のemacsのyank(Ctrl+w)とかが、Windowsやurxvt [続きを読む]