2020年4月26日日曜日

[株]4/27からは決算シーズン突入!個別株の選別が運命を分ける

前回の個別株分析
[個別株]恩恵銘柄はすでに上昇。ダイレクト影響銘柄にこそチャンスあり
https://trv-and-mt4.blogspot.com/2020/04/blog-post.html

でいくつか4月前半に銘柄を上げましたが、それぞれその後どうなったかをまずは調べたいと思います。。

一部決算すぎた後落ちている株も多いですが、どの株もいったんは利益確定するチャンスがありました。
原油でボロカスやられましたが、4月はミンカブ・イーガーディアン・SBI・ブロッコリーを中心に利益確定できました。ありがとうございます。これらで利益出てなかったら死んでました。

そして、わかりやすいコロナダイレクト影響株たちがリバウンドし始めています。決算経過後黒字を維持できるとさらに伸びる傾向があるようです。うーん?マネーゲーム?
アンファクの値動きを見ると決算悪いと売り込まれそうなので、手は出しにくいですが、思いっきり下押しするなら100株だけなら買ってもいいかな?という株がいくつかはあります。

さて、決算シーズン。個別株です。ここからは個別株の選択が勝敗を分けそうです。

いつもTwitterで絡ませてもらっているオジサンの動画。今回は特に参考になります。図でわかりやすく分類されているので理解しやすかったです。

ブログで紹介させていただきます。(DMで許可いただきました)

https://www.youtube.com/watch?v=MUYEvpe40dI&feature=emb_title

オジサンは動画の中で、次の4パターンに分けています。
①一過性の特需型
②大打撃セクターの逆張り
③特に影響無し
④特需継続型

株価をざっと眺めると、
①はすでにピークアウトしている感じです。
②の大打撃セクターもいったん売りこまれていた為、リバウンド狙いの買いも参入しています。
④の特需継続型については4308 Jストリームを中心にすでに急落前を超えている銘柄も数多い状態になっています。

上記から私の戦略は①、②、④について、現在すでに値動きが発生しているものについては
①完全スルー。ギャンブル
②わかりやすいものは現物少数買っているので放置
④決算空売り検討

となります。さて、ここまではまぁ皆さん同じ戦略をとってきそうです。
土日を使って一生懸命探しているのは、次の二つです。
「③特に影響無いもの」
「大打撃セクターだと思われているけど、実は①、④のもの」

というのも2454 オールアバウトが94%の上昇修正を発表してPTSでS高を付けています。情報系サイトなのでテレワークなどで家にいることが多くなっている現在流入増加は確かにありそうと思ってしまいました。よく見るサイトなのに見逃しているというやらかし感。

これを見て、まだあるのではないか?と考えました。
なぜ見逃したのか?と思とオールアバウトはJASDAQ銘柄です

株価を見ると4月はマザーズが強いです。マザーズ銘柄は大きく反発しています。新興株が多いということで着目されやすいためたくさんある株価からマザーズ銘柄が買われている状況です。
私も4月はマザーズ銘柄を中心に利益をあげています。

ですが決算となると別です。決算発表で一時的に注目されます。あえてマザーズを外して調べると底値でうろうろしている株がまだたくさんある事に気が付きました。

そこで、その中から勝負すべき株を一生懸命探しています。

SBI証券ではチャート形状検索ツールがあるのでこれを利用します。マネックス証券ならチャートフォリオです。

チャート形状銘柄検索ツール


やれることが微妙に異なるのでどっちも使っています
で底値圏をうろうろしている株を見ながら自分の考えに一致するものがあるか調査といった形です。

SBIの方がチャート形状と業種を絞れるのでやりやすいかもしれません。また銘柄コード順にするとよく似た業種が続くのでその中から選びやすいです。

とりあえず1つこれは?というのは見つけました。少々ギャンブルですがデータ的には+影響が出ていることを示していました。

丸1日かけてひとつかよ!って感じですが、さすがになかなか難しいですね。あと見逃していたコロナ影響株でリバウンドが早そうな銘柄もいくつか調査しました。こちらは実際にトレードした結果でご報告します。

現在保有している銘柄で当てはまるのはマクロミルです。
3978 マクロミル

リサーチ系ということでセクター全体で下げていますがマクロミルが得意とするのはネット上のリサーチです。
コロナ関係もあり対面リサーチ需要は落ち込んでいるはずですがネットリサーチは変わりに恩恵を受けているのでは?と思い買っています。来年の選挙に向けてリサーチ需要の伸びそうですし、韓国の子会社も韓国総選挙でのリサーチ需要も取り込んでいるはず。ということで株価が半額になるほどのマイナス業績になるのかな?と疑問に思ってます。

③といえば、前からトレードしているこちら
9505北陸電力

上方修正出るかと思ってたのですが出なかったので少し不安もありますが・・。

無配期間が終了して、値上げ効果を見せつけるタイミングです。ついでに増配も来るととっても嬉しいなぁ25円来たら最高なのですが。配当だけで5万円もらえそう。先週水曜日までかなり頭を押さえられていたのですがやっと上昇基調になってきました。
なお、原料費安ですが、短期的に急激に下がったので2020/03期には多少のプラスにはなるでしょうが、来期以降、自動的に調整されてしまう価格なのであんまり恩恵なさそうです。
ディフェンシブ株の中で配当が見劣りするため他に出遅れているので増配する事ができればきっちりある程度までは戻っていくと考えています。
年50円配当まで戻れるなら1000円は確実に超えるはず。ですので4/30の決算は配当予定に着目です。

本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

2020年4月19日日曜日

[ETF]先物とETFとCFDの関係、原油は上がる。ただしETFは上がらない

先週、原油の期近つなぎチャートが20ドルから26ドルに跳ねあがり原油爆上げ!と大騒ぎになりました。
これ先物をきちんと押さえていた人は何言っているの?ってなっていたかと思います。なぜならNYMEXの6月限の先物価格は前日27ドル台で中心月限が切り替わっただけのチャートの為です。
といっても私も最初、最終取引日は5/22じゃ?と思っていた為、ここで切り替わるのおかしくない?って思いました。世界の株価が取得元としているCFDが切り替わったようです。このあたりのルールは、ちゃんと調べましたので後で詳しく書きます。結論からいうと私が間違って覚えていました。

そこで、先物とETFとCFDの関係をまとめました。いま原油ETFを3か月以上持つ場合いかにチャンスが少ないかがわかるかと思います。

・先物とは?

「将来の」価格に対して原資産の引き渡しも含めて取引を行う商品です。
そのため引き渡し日という期限が切られていて、その引き渡し日に現物を売買できる権利を取引きします。必要があれば現物を受け取ったり売却する事が出来ます。ただし大半はCFDと同様に差金決済されます。


・CFDとは?

「差金決済取引」となります。

「今の」に対して、売りもしくは買いのポジションを構築して、決済した時に差額が利益となります。
また、レバレッジをかけてトレードすることが可能です。

CFDというと、いろんな商品(原油・株・株価指数など)に対する差金決済取引の事を差します。為替を対象にしたCFDはFXと呼ばれます。ですのでFXをトレードされている方はおなじみですね。

CFDにはポジション保有期間の制限はありません。


・ETFとは?

対象の商品と連動するように設計された債権です。債権ですので株式市場で取引が可能です。ETFの場合は、現物もしくは現物をあらわす先物や債権をETFの資金を使用して売買します。日本の税制制度ではFXやCFDは株と損益通算ができませんが、ETFなら損益通算が可能です。

余談
よく似た仕組みでETNというのもあります。こちらは発行主体が価格が連動するようにETNそのものを売り買いします。原資産は売買しません。


大まかに先物とCFDとETFの関係を示しました。
これが株価指数だった場合とても分かりやすいです。

「n月後」の株価指数を取引するのが先物
「今の株価指数」に対して証拠金で差金決済するのがCFD
「株価指数を構成する株」をまとめて債権で取引するのがETF

となります。



さて、これが商品を対象とした場合どうなるでしょうか?
問題は「今の商品価格」とは?となります。

話題の原油を例に取り上げます。

原油の場合にも現物を取り扱う市場が存在します。最大手はNYMEXの原油スポット市場です。しかし実際にはNYMEXの先物市場の一番月限が近い価格を使用しています。これは一番取引高が多くカバートレードの行いやすい為です。

CFDもETFも同じです。
野村原油(https://www.jpx.co.jp/equities/products/etfs/issues/files/1699-j.pdf

とすると、原資産が先物という事で将来の価格を表すことになります。

ここで問題になるのは先物には取引期限があるということです。取引期限があるため先物はある特定の日になると終了してしまいます。
そこで次の期に移る事になります。これをロールオーバーといいます。
しかし先物は未来の価格を取引きしている為、差が発生します。これを解決する必要があります。

CFDの場合
 ロールオーバーの際、価格差を「価格調整額」として支払い・徴収します。

ETFの場合
 ロールオーバー後の価格を基準に置き換えます。

チャートで表すと次のようなイメージになります。今原油先物では通常では考えられないくらいの差が開いています。ひと月後の原油価格は今より30%高い状況です。

ここではわかりやすくするために、今後原油価格が横横で推移したとします。白い線がCFDの価格です。青い線がETFの価格となります。

このまま推移すると原油は3か月後には30ドルを回復します。
しかし先物はすでに織り込み済みです。そのため、次のような形になります。

・CFD買いポジションを持っていた場合のロールオーバー
 差額x倍率分を徴収されます。5月の場合は7ドル差あったため、レバレッジ10倍だった場合7ドルx10=70ドル/ポジションの価格調整額を徴収されました。

・原油ETFの場合
 ETFの価格は変わらず、対応する価格位置が18ドルから25ドルへ変更されます。

つまり買いポジションを持っていて見た目上は原油が30ドルまで上昇しているのにも関わらずCFDでは差額を徴収され、ETFは全く値上がりしないという事になります。

このように期先が高い状態を順鞘(コンタンゴ)といいます。ちなみに期先が安いことを逆鞘(バックワーディション)といいます。
TL上でコンタンゴが連呼されていましたねw

つまり、今原油ETFやCFDで将来の原油高になるだろうと予想しても先物は見越して上がってしまっている為、直接的に儲ける手段はありません。
それどころか、来週切り替えが発生したあと、スポット価格(4/18時点で18ドル付近)に寄せてくることを考えると売り方が圧倒的有利です。

今原油ETFやCFDを買う場合は
「ロールオーバー前に原油価格が上がりそうな場合」が発生するまでは手出し無用だと感じました。

なお、原油先物における取引最終日のルールです。
https://www.cmegroup.com/ja/trading/energy/crude-oil/light-sweet-crude_contractSpecs_futures.html
当限の取引は、受渡月前月25日から3営業日前となる日に終了する。ただし、前月25日が営業日でなければ、25日の前営業日から3営業日前となる日に取引が終了する。原油先物が上場されてから、取引所の公式な休日スケジュールに変更があった場合でも、当初に設定された取引最終日は維持される。ただし、当初に設定された取引最終日が休場日に変更された場合は、その直前の営業日を取引最終日とする。
4月の場合は25日が土曜日なので、24日の3営業日前で21日で取引終了です。
さらにCFDの場合はその2営業日前に切り替わるのが一般的ですので、17日切り替えで正しかったようです。

この辺りは調査不足でした。

ちなみに同じCFDでもGMOにエクソン・モービルの株価指数を対象としたCFDがあるので、どうせならこちらに賭ける方がよさそうに思えてきます。
今44ドル付近で原油急落前までは70ドル付近でした。原油先物の順鞘の事を考慮するとエクソン・モービル株のほうが、まだ儲けがありそうに思えます。

本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。

2020年4月18日土曜日

[MT4]オーダーを触るときはチケット指定が安全

EAにてポジションをクローズする処理を書く場合、素直に書くとこのようなコードになるかと思います。
これでもたぶん問題になりません。

   for( int i = OrdersTotal() - 1; i >= 0; i-- )
   {
      if( !OrderSelect(i, SELECT_BY_POS) ) continue;
      if( OrderMagicNumber() != MagicNumber ) continue;
      if( OrderSymbol() != Symbol() ) continue;
      
      int order = OrderType();
      
      if( order == OP_BUY )
      {
         //クローズ条件の算出
         if( 買い側クローズ条件なら )
         {
            OrderClose(OrderTicket(), OrderLots(), Ask, 1);
         }
      }
      else if ( order == OP_SELL )
      {
         //クローズ条件の算出
         if( 売り側クローズ条件なら )
         {
            OrderClose(OrderTicket(), OrderLots(), Bid, 1);
         }
      }
   }

ただ、OrderCloseの処理がそれなりに時間がかかる処理なので、その間に他の条件でポジション数が変更になってしまうと、インデックスずれなどで想定しないポジションに対しての処理や、ポジションが処理されないなどの不安があります。

そこで、このように一回チケットIDの一覧を取得して、その取得したチケットIDに対してOrderSelectをかけてやることで、その不安をある程度低減可能です。OrderCloseが100ms台の処理なのに対してOrderTicketなどの情報取得系は数ns台で処理されるためです。

#include <Arrays/ArrayInt.mqh>
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   CArrayInt positions;
   int orderCount = OrdersTotal();
   
   for( int i = 0; i < orderCount ; i++)
   {
      if( OrderSelect(i, SELECT_BY_POS) )
      {
         if( OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol())
         {
            positions.Add(OrderTicket());
         }
      }
   }
   
   int targetCount = positions.Total();
   for( int i = 0; i < targetCount; i++ )
   {
      int ticket = positions.At(i);
      if( OrderSelect(ticket, SELECT_BY_TICKET) )
      {
         int order = OrderType();
         if(order  == OP_BUY)
         {
             //クローズ条件の算出
             if( 買い側クローズ条件なら )
             {
                OrderClose(ticket, OrderLots(), Ask, 1);
             }
         }
         else if(order  == OP_SELL)
         {
             //クローズ条件の算出
             if( 売り側クローズ条件なら )
             {
                OrderClose(ticket, OrderLots(), Bid, 1);
             }
         }
      }   
   }
}

なお、このような形で、forの中をcontinueで次の条件に飛ばすような書き方にするとインデントが深くなるのが抑えられて見やすくなりますが、処理には影響ありません。

   for( int i = 0; i < orderCount ; i++)
   {
      if( !OrderSelect(i, SELECT_BY_POS) ) continue;
      if( OrderMagicNumber() != MagicNumber) continue;
      if( OrderSymbol() != Symbol() ) continue;

      positions.Add(OrderTicket());
   }

ちょっとTwitterで話題になったので私なりの書き方をご紹介してみました。もし問題があればぜひご指摘お願いします。

本ブログは、投資に対する利益を約束する物ではありません。最終的には自己責任によるご判断よろしくお願いいたします。