Ku-Chartの簡単な計算方法 (2017/07/31)

USDを含む5通貨モデルの計算式

例としてAUD、EUR、GBP、JPY、USDの5通貨モデルの計算式を以下に示す。

a = (log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)) / 5
Ku-AUD = log(AUDUSD) - a
Ku-EUR = log(EURUSD) - a
Ku-GBP = log(GBPUSD) - a
Ku-JPY = -log(USDJPY) - a
Ku-USD = -a

計算式の解説

なぜ、このような式になるのかを説明しておく。興味のない人は読み飛ばしていただいて構わない。

ドルストレートの通貨ペアのみを材料として使い、以下のように変形する。

AUDUSD = AUD / USD
EURUSD = EUR / USD
GBPUSD = AUD / USD
USDJPY = USD / JPY

AUD / USD = AUDUSD
EUR / USD = EURUSD
GBP / USD = GBPUSD
JPY / USD = 1 / USDJPY
USD / USD = 1

Ku-Chartは対数を使っているので、これを対数に変換し、以下のように変形する。

log(AUD/USD) = log(AUDUSD)
log(EUR/USD) = log(EURUSD)
log(GBP/USD) = log(GBPUSD)
log(JPY/USD) = log(1/USDJPY)
log(USD/USD) = log(1)

log(AUD) - log(USD) = log(AUDUSD)
log(EUR) - log(USD) = log(EURUSD)
log(GBP) - log(USD) = log(GBPUSD)
log(JPY) - log(USD) = log(1) - log(USDJPY)
log(USD) - log(USD) = log(1)

log(AUD) - log(USD) = log(AUDUSD)
log(EUR) - log(USD) = log(EURUSD)
log(GBP) - log(USD) = log(GBPUSD)
log(JPY) - log(USD) = 0 - log(USDJPY)
log(USD) - log(USD) = 0

log(AUD) - log(USD) = log(AUDUSD)
log(EUR) - log(USD) = log(EURUSD)
log(GBP) - log(USD) = log(GBPUSD)
log(JPY) - log(USD) = -log(USDJPY)
log(USD) - log(USD) = 0

log(AUD) = log(AUDUSD) + log(USD)
log(EUR) = log(EURUSD) + log(USD)
log(GBP) = log(GBPUSD) + log(USD)
log(JPY) = -log(USDJPY) + log(USD)
log(USD) = log(USD)

Ku-Chartは平均を減じて全体の合計が0になるようにしている。そこで先ず平均を求め、以下のように変形する。

mean = (log(AUD)+log(EUR)+log(GBP)+log(JPY)+log(USD)) / 5

mean = (log(AUDUSD)+log(USD)+log(EURUSD)+log(USD)+log(GBPUSD)+log(USD)-log(USDJPY)+log(USD)+log(USD)) / 5

mean = (log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)+5*log(USD)) / 5

mean = (log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)) / 5 + (5*log(USD)) / 5

mean = (log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)) / 5 + log(USD)

ここで「(log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)) / 5」を「a」としておくと以下のようになる。

mean = a + log(usd)

最後に平均を減じたものをKu-Powerとして、以下のように変形する。

Ku-AUD = log(AUD) - mean
Ku-EUR = log(EUR) - mean
Ku-GBP = log(GBP) - mean
Ku-JPY = log(JPY) - mean
Ku-USD = log(USD) - mean

Ku-AUD = log(AUD) - (a+log(USD))
Ku-EUR = log(EUR) - (a+log(USD))
Ku-GBP = log(GBP) - (a+log(USD))
Ku-JPY = log(JPY) - (a+log(USD))
Ku-USD = log(USD) - (a+log(USD))

Ku-AUD = log(AUD) - a - log(USD)
Ku-EUR = log(EUR) - a - log(USD)
Ku-GBP = log(GBP) - a - log(USD)
Ku-JPY = log(JPY) - a - log(USD)
Ku-USD = log(USD) - a - log(USD)

Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = log(USD) - log(USD) - a

Ku-AUD = log(AUD/USD) - a
Ku-EUR = log(EUR/USD) - a
Ku-GBP = log(GBP/USD) - a
Ku-JPY = log(JPY/USD) - a
Ku-USD = log(USD/USD) - a

Ku-AUD = log(AUD/USD) - a
Ku-EUR = log(EUR/USD) - a
Ku-GBP = log(GBP/USD) - a
Ku-JPY = -log(USD/JPY) - a
Ku-USD = log(1) - a

Ku-AUD = log(AUD/USD) - a
Ku-EUR = log(EUR/USD) - a
Ku-GBP = log(GBP/USD) - a
Ku-JPY = -log(USD/JPY) - a
Ku-USD = 0 - a

Ku-AUD = log(AUDUSD) - a
Ku-EUR = log(EURUSD) - a
Ku-GBP = log(GBPUSD) - a
Ku-JPY = -log(USDJPY) - a
Ku-USD = -a

これで計算式が求められた。

USDを含まない4通貨モデルの計算式

ドルストレートを材料にする場合でもUSDを除くことはできる。

例としてAUD、EUR、GBP、JPYの4通貨モデルの計算式を以下に示す。

a = (log(AUDUSD) + log(EURUSD) + log(GBPUSD) - log(USDJPY)) / 4
Ku-AUD = log(AUDUSD) - a
Ku-EUR = log(EURUSD) - a
Ku-GBP = log(GBPUSD) - a
Ku-JPY = -log(USDJPY) - a

再び計算式の解説

やはり興味のない人は読み飛ばしていただいて構わない。

ドルストレートの通貨ペアのみを材料として使い、以下のように変形する。

AUDUSD = AUD / USD
EURUSD = EUR / USD
GBPUSD = AUD / USD
USDJPY = USD / JPY

AUD / USD = AUDUSD
EUR / USD = EURUSD
GBP / USD = GBPUSD
JPY / USD = 1 / USDJPY

対数に変換し、以下のように変形する。

log(AUD/USD) = log(AUDUSD)
log(EUR/USD) = log(EURUSD)
log(GBP/USD) = log(GBPUSD)
log(JPY/USD) = log(1/USDJPY)

log(AUD) - log(USD) = log(AUDUSD)
log(EUR) - log(USD) = log(EURUSD)
log(GBP) - log(USD) = log(GBPUSD)
log(JPY) - log(USD) = log(1) - log(USDJPY)
log(USD) - log(USD) = log(1)

log(AUD) - log(USD) = log(AUDUSD)
log(EUR) - log(USD) = log(EURUSD)
log(GBP) - log(USD) = log(GBPUSD)
log(JPY) - log(USD) = 0 - log(USDJPY)

log(AUD) - log(USD) = log(AUDUSD)
log(EUR) - log(USD) = log(EURUSD)
log(GBP) - log(USD) = log(GBPUSD)
log(JPY) - log(USD) = -log(USDJPY)

log(AUD) = log(AUDUSD) + log(USD)
log(EUR) = log(EURUSD) + log(USD)
log(GBP) = log(GBPUSD) + log(USD)
log(JPY) = -log(USDJPY) + log(USD)

平均を求め、以下のように変形する。

mean = (log(AUD)+log(EUR)+log(GBP)+log(JPY)) / 4

mean = (log(AUDUSD)+log(USD)+log(EURUSD)+log(USD)+log(GBPUSD)+log(USD)-log(USDJPY)+log(USD)) / 4

mean = (log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)+4*log(USD)) / 4

mean = (log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)) / 4 + (4*log(USD)) / 4

mean = (log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)) / 4 + log(USD)

ここで「(log(AUDUSD)+log(EURUSD)+log(GBPUSD)-log(USDJPY)) / 4」を「a」としておくと以下のようになる。

mean = a + log(usd)

平均を減じたものをKu-Powerとして、以下のように変形する。

Ku-AUD = log(AUD) - mean
Ku-EUR = log(EUR) - mean
Ku-GBP = log(GBP) - mean
Ku-JPY = log(JPY) - mean

Ku-AUD = log(AUD) - (a+log(USD))
Ku-EUR = log(EUR) - (a+log(USD))
Ku-GBP = log(GBP) - (a+log(USD))
Ku-JPY = log(JPY) - (a+log(USD))

Ku-AUD = log(AUD) - a - log(USD)
Ku-EUR = log(EUR) - a - log(USD)
Ku-GBP = log(GBP) - a - log(USD)
Ku-JPY = log(JPY) - a - log(USD)

Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a

Ku-AUD = log(AUD/USD) - a
Ku-EUR = log(EUR/USD) - a
Ku-GBP = log(GBP/USD) - a
Ku-JPY = log(JPY/USD) - a

Ku-AUD = log(AUD/USD) - a
Ku-EUR = log(EUR/USD) - a
Ku-GBP = log(GBP/USD) - a
Ku-JPY = -log(USD/JPY) - a

Ku-AUD = log(AUD/USD) - a
Ku-EUR = log(EUR/USD) - a
Ku-GBP = log(GBP/USD) - a
Ku-JPY = -log(USD/JPY) - a

Ku-AUD = log(AUDUSD) - a
Ku-EUR = log(EURUSD) - a
Ku-GBP = log(GBPUSD) - a
Ku-JPY = -log(USDJPY) - a

これで計算式が求められた。

要するに、USDを含めた5通貨モデルでは5で除していたところを4で除するように変更するだけである。

まとめ

上記の計算式を用いれば、ドルストレートを材料にして任意の組み合わせのKu-Chartを作成できる。もちろん、他のドルストレートを追加して5より大きいモデルを作成することもできる。

また、同様のやり方でクロス円、ユーロクロスなどを使ってKu-Chartを計算することもできる。ただし、「EURUSD」と「EURJPY / USDJPY」が必ずしも一致しないように非常にわずかな誤差はありうる。

ハイブリッドトレードの試み (2017/07/29)

ハイブリッドトレードとは

ここではハイブリッドトレードを裁量トレードとシステムトレードを組み合わせたものとしておく。もう少し具体的には、システムによるシグナルをトレーダーが裁量で取捨選択するようなトレードである。

ハイブリッドトレードの基本原則

私が考えるハイブリッドトレードには以下の4つの基本原則がある。

  1. システムがエントリーのシグナルを点灯させてもエントリーしなくていい。
  2. システムがエントリーのシグナルを点灯させていなければエントリーしてはならない。
  3. システムがエグジットのシグナルを点灯させていなくてもエグジットしていい。
  4. システムがエグジットのシグナルを点灯させたら必ずエグジットする。

これをまとめると、システムが持つポジションを持つことは許されるが、システムが持たないポジションを持つことは許されない、ということである。

エントリー選択の原則

  1. 経済指標発表の1時間半前から30分後まではエントリーしない。
  2. 要人発言予定の1時間半前から3時間後まではエントリーしない。
  3. 経済指標、または要人発言によって相場が大きく動いたとき、動いた方向にはエントリーしない。
  4. サポート手前では買わず、レジスタンス手前では売らない。ブレイクしてからエントリーする。
  5. 日足始値より上では買わず、下では売らない。
  6. 月曜日は金曜日終値より上では買わず、下では売らない。

私は経済指標発表、要人発言を「DailyFX」というスマートフォンアプリで確認している。通貨ペアと直接関係のないイベントは基本的に考慮しない。例えば、ドル円なら米国と日本のイベントのみ注意する。

以上は私の試行錯誤によるものであって、今後も変わりうる。

エグジット選択の原則

  1. エグジットのシグナルが来たら、ポジションの損益の大小に関わらず、即座にエグジットする。
  2. 経済指標発表、要人発言予定が近づいてもエグジットのシグナルがない場合、ポジションの損益の大小に関わらず、5分前までにはエグジットする。
  3. ポジションの損益がプラスでエグジットに近づいてから相場が反転して利益が縮小した場合、マイナスになる直前にエグジットする。
  4. ポジションの損益がプラスのとき、チャートを見てエグジットの条件を満たしていると分った場合、エグジットのシグナルを待たずにポジションの半分、または全部をエグジットしてもいい。

これも私の試行錯誤によるものであって、今後も変わりうる。

為替相場が動く時間帯 (2017/05/04)

よく忘れるので、為替相場が動きやすいと考えられる時間帯を一覧表にしておく。時間は日本時間である。

09:00-15:00 東京株式市場
09:55 東京仲値
15:00 東京オプションカット
17:00-25:30(夏時間16:00-24:30) ロンドン株式市場
17:00(夏時間16:00) ロンドンフィキシング(午前8時)
23:30-06:00(夏時間22:30-05:00) ニューヨーク株式市場
24:00(夏時間23:00) ニューヨークオプションカット
25:00(夏時間24:00) ロンドンフィキシング(午後4時)

なお、夏時間は

  • 米国: 3月第2日曜日〜11月第1日曜日
  • 欧州: 3月最終日曜日~10月最終日曜日

となっている。

想定スプレッド

バックテストを行うとき、スプレッドをどのくらいに想定するかを考えてみる。

FX会社のスプレッド比較

先ずは参考にFX会社のスプレッドを比較してみた。

私はFX会社のことはよく知らない。漏れている会社もあると思う。また、ここに掲載した会社を勧めているわけでもない。

選択の基準は

  • 取引手数料が無料であること
  • スプレッドが原則固定であること
  • USDJPYのスプレッドが0.4銭以下であること

の3つである。

FX会社は五十音順で並べている。また、通貨ペアごとに最狭スプレッドはオレンジ色にしてある。「×」はFX会社がその通貨ペアを取り扱っていない、取り扱ってはいるがスプレッドが原則固定ではない、情報がない、などの意味である。

(※) FX会社によっては原則固定を明記していない場合があります。もし間違いがありましたら、ご一報いただけると助かります。

FX会社 AUDJPY AUDUSD EURAUD EURGBP EURJPY EURUSD GBPAUD GBPJPY GBPUSD USDJPY 確認日 備考
インヴァスト証券 0.60 1.40 2.00 1.90 0.50 0.30 × 1.00 1.40 0.30 2017-03-15
FXブロードネット 0.60 × 6.80 2.90 0.50 0.30 × 1.00 2.60 0.30 2017-03-15 ブロードコース
FXTF 1.40 1.90 2.80 1.60 0.60 0.80 4.30 2.00 1.10 0.30 2017-03-15
SBI FXトレード 0.77 1.39 1.50 0.90 0.69 0.48 1.60 1.19 1.49 0.27 2017-03-15 1万通貨単位まで
岡三オンライン証券 0.90 1.20 1.60 1.40 0.90 0.70 1.90 1.40 1.30 0.40 2017-03-15
外為ジャパン 0.70 1.10 × 1.40 0.60 0.50 × 1.10 1.10 0.30 2017-03-15
外為どっとコム 0.70 1.10 1.60 × 0.60 0.50 × 1.10 1.10 0.30 2017-03-15
GMOクリック証券 0.70 1.10 1.60 1.40 0.60 0.50 1.90 1.10 1.10 0.30 2017-03-15
JFX株式会社 0.70 1.00 1.60 1.40 0.50 0.40 1.70 1.30 1.00 0.30 2017-03-15 赤字のみ
DMM FX 0.70 1.10 1.60 1.40 0.60 0.50 1.90 1.10 1.10 0.30 2017-03-15
ヒロセ通商 0.70 1.00 1.60 1.40 0.50 0.40 1.70 1.30 1.00 0.30 2017-03-15
みんなのFX 0.70 × × × 0.60 0.50 × 1.00 × 0.30 2017-03-15
楽天証券 1.20 1.90 × 4.00 1.10 0.40 × 1.00 1.00 0.30 2017-03-15
YJFX! 0.80 1.40 2.30 1.80 0.70 0.60 × 1.20 1.50 0.30 2017-03-15


最狭スプレッドを目安に想定

最狭スプレッドを目安としてスプレッドを想定してみる。SBI FXトレードは0.01刻みだが、この位は切り上げることとしよう。すると以下のようになる。

AUDJPY: 0.6
AUDUSD: 1.0
EURAUD: 1.5
EURGBP: 0.9
EURJPY: 0.5
EURUSD: 0.3
GBPAUD: 1.6
GBPJPY: 1.0
GBPUSD: 1.0
USDJPY: 0.3


コストは高めに想定すべきか

各FX会社の中で最も狭いスプレッドを目安にするというのは甘すぎるのではないかと疑問に思う人もいるだろう。だが、あまりコストを高めに想定すると、狭いスプレッドでは非常に有効な戦略が排除されてしまうことになりかねないと私は考えている。

我々は安易にFX会社を信用してはなるまい。スプレッドは固定であっても、エントリーやエグジットのときに不利なレートで執行されているかもしれない。

そうでなくても、スリッページは起こりうる。するとバックテストでのパフォーマンスと実際のそれとの間には乖離が生じる。コストをあまり低めに想定すると、このような乖離に対して脆弱になる。

いずれにせよ、メリットもあれば、デメリットもあって難しい。ただ、ほんの数年前までスプレッドは現在の何倍もあった。そのときのスプレッドでは短期トレードはコスト負けしてしまい、日足中心のトレードを考えるしかなかったのである。

少なくとも私はそうであった。もし、スプレッドがここまで狭くならなかったなら、私は短期トレードをやらなかっただろう。だが、私は短期トレードによって利益を上げられることを日々実感しているのである。

このようなことから、多少甘いとは思うが、最も狭いスプレッドを目安にしようと思う。

一般トレーダーの優位性

FX会社のスプレッドを見ると、すべての通貨ペアで狭いというところはない。ある通貨ペアでは非常に狭いのに、別の通貨ペアでは意外と広かったりする。

想像するに、FX会社は特定の通貨ペアを選好するトレーダーを取り込むために赤字覚悟でその通貨ペアのスプレッドを狭くしているのではないだろうか。そして、他の通貨ペアは広くしてバランスを取っているのではないだろうか。

何百万通貨単位で取引するような大口トレーダーにはこのように狭いスプレッドは提供されていない。とすると、通貨ペアごとにスプレッドが最も狭いFX会社で取引できる、言葉は悪いが、つまみ食いできるというのは一般(零細?)トレーダーの優位性ではないだろうか。

為替レートは一見したところ、ランダムウォークのようである。だが、コスト負けするような領域では明確な傾向を見せる。そこに一般トレーダーの活路がある。

情けない話かもしれないが、資金力のある相手とまともに張り合うのは賢明ではないだろう。そういう相手が手出しできない領域でほそぼそと、だが着実に利益を挙げることが一般トレーダーの生き残る道なのではないかと私は考えている。

(参考) OANDAのスプレッド

私は主にOANDAでトレードしているので、参考にOANDAのスプレッドも掲載しておく。

FX会社 AUDJPY AUDUSD EURAUD EURGBP EURJPY EURUSD GBPAUD GBPJPY GBPUSD USDJPY 確認日 備考
OANDA 1.0※1 1.1 2.0-2.8※2 0.9-2.0 0.7 0.5 3.1-4.5※2 1.4 1.1 0.4 2017-03-16 ベーシックコース

(※1) 原則固定とは明記されていないが、固定されているように思われる。あるいは実績を作ってから原則固定と明記するのかもしれない。AUDUSD、GBPUSDのときがそうで、固定されてしばらくしてから明記された。

(※2) この範囲は私の観察によるもので、公式のものではない。

(2017/03/16更新)