2012年1月14日土曜日

株価は底を打ったか?


IndexSimulator番外編

■日本経済新聞2012/1/12木曜日 『金融株、日米で堅調』という記事がある。



記事によると、各国中央銀行の資金供給により、銀行破綻可能性が遠のいたことが原因と分析している。

■日米欧の中央銀行、ドル資金供給の金利引き下げ発表

日本、米国、欧州、英国、カナダ、スイスの6カ国・地域の中央銀行は30日、銀行に貸し出すドル資金の金利を12月5日から引き下げると発表した。欧州の政府債務(借金)危機で経営が悪くなった銀行が資金不足でつぶれないように日米欧の中央銀行が協力して支え、世界的な金融危機に陥るのをふせぐ。・・・・
出典
http://www.asahi.com/business/update/1130/TKY201111300757.html

とある。

■IndexSimulatorで、日経平均、NYダウ、国内金融株の動きを確認してみる。
日経平均

8316三井住友

8411みずほ

8604野村


8306三菱UFJ

日経平均・国内金融株の動きをみると、昨年11月25日金曜日 を底として、28日月曜日からはっきりとした上昇に転じている。

NYダウも昨年11月25日金曜日を底としている。日本株は、金曜日にNYダウが下げているにも関わらず、総じて上昇に転じていることが確認できる。当日のニュースは株価はコツンといったかというものもあったと記憶している。

配当利回りの大きくなっている割安株が上昇する現象が起きたと思われる。
配当利回りの大きなみずほFGは、各銀行が年の瀬に下げているにも関わらず、踏みとどまっている。

中央銀行資金供給のニュース(11月30日)よりも株価の変動が5日程度早く反応していることが確認できる。

※ここでは、長期移動平均の期間は26営業日としている。

上記データを掲載したIndexSimulatorにバージョンアップする予定である。
手続き上、ダウンロードは1月20日ころから可能になると思われる。(無料である。)

-------------------------------------------------------------------------------------------------------------
※2015/12/5よりIndexSimulator は改定を重ね、新ソフトウェアStockFinderとして再リリースした。
再リリースの主な項目は以下の通りであるが、コードのほとんどを書き直したため、高速化するとともに、操作性も全く別のものに改善された。
1)チャートワークシート、インターネットデータ取得シートを本体ソフトウエアからの分離による、ファイルの肥大化防止。
2)指標連動性の分析機能追加



概要紹介ページ
http://katsuyama-shin.blogspot.jp/2015/12/stockfinder.html
公開ページ
http://www.vector.co.jp/soft/winnt/business/se511919.html

2012年1月9日月曜日

高校生の数学勉強法

日本経済新聞 2012年1月9日朝刊教育面に

《「挑む」 高校での勉強法に悩む》

というタイトルの記事があった。





高校生の勉強は非常に高度で、若い人間の頭の限界に挑戦させているのではないか(大げさ?)と思うほど、高度な内容になっている。子供に勉強させたい親でも、子供の学習する内容を身につけている人は少ないと思う。ためしに、高等学校の数学の問題を解いてみるとよくわかる。
大人になってから、「使わない?」と思っても、高校生のときに身に着けた学習の過程は、将来答えのないような難問にぶち当たったときに、自分で解を決定するのに役に立つはずだ。

ところで、記事の言いたいことを要約すると、以下のようになるだろうか。

「自分で考える」変わらず

  • 基本をしっかりと押さえ、それをどのように組み合わせて使うのかを「考える」
  • あくまでも自分の知識をもとに「考える」ことが基本
  • 設問の意図をきちんと理解して、それを糸口に方針をかんがえていく


以上は、大人になったときも役に立つ、物事を解決・方針決定の基本であろう。

高校生は、つらい時期でもある。何とかそれを自分の意思で乗り越えてもらいたい。

2012年1月3日火曜日

景気の波12 - 最終回


今回で景気の波についての報告を終了する。

まず私の仮説から。


  • 大きな相場変動期には、ChangeIndexが有効。相場の頂点を見極めて、手仕舞いを厳格に実行する。
  • 停滞期にはRSIが有効。ChangeIndexの成績が顕著になってきたら、上昇期突入のサインととらえ、運用手法を切り替える。
以下に、Phase Change RSI の各指標による運用成績をグラフ化したので、掲載する。いずれも日付の幅は約2年間である。


①上昇の始まり

②頂点を付けた後

③下げ止まり

④停滞期








  • あくまで、仮説であり、銘柄や、時期、設定パラメタなど無限の可能性があるため、その通りになるとは限らない。運用はあくまで、各自の責任で行わなければならない。
  • 過去のデータを用いているだけであり、未来の株価に適用できる保障はない。
  • PhaseIndexは相場の動きが激しいときには、ついていけない。停滞期はRSIに負ける。


以下にPhaseIndexのコードを記す。コードを改変することにより、(運用成績とは別に)独自の指標が作れる。



 '-------------------位相算出
Function my_PhaseIndex(ByVal CCR As Long) As Single
     '    Application.Volatile
    With Worksheets("Data")
        Dim EndPriceCol As Integer:                 EndPriceCol = .Range("終値").Column
        Dim P_Span As Integer:                      P_Span = .Range("P_Span").Value
        Dim ShortSpan As Integer:                   ShortSpan = .Range("ShortSpan").Value    
        Dim LongMACol As Integer:                   LongMACol = .Range("長期移動平均").Column
        Dim ShortMACol As Integer:                  ShortMACol = .Range("短期移動平均").Column
        Dim LBC As Integer                          'LBC:LookBackCell
        Dim Up As Single, Lp As Single, Bp As Single, Mp As Single      'Up期間中の高値 Lp 期間中の低値 Mp期間中の中央値
        Dim Col As Integer                                              '列番号


        '計算可能か?
        Col = ShortMACol '採用するデータは短い移動平均である。
        If Len(Trim(Cells(CCR + P_Span, Col).Value)) = 0 Then Exit Function 'データ未入力⇒脱出
        Bp = Cells(CCR, Col).Value:    Up = Cells(CCR + 1, Col).Value:  Lp = Cells(CCR + 1, Col).Value '現在の終値を Bp Up Lp には直前の値をセット
        For LBC = P_Span To 1 Step -1        '期間中の最大値Up 最小値Lpを求める。  
                           '期間に本日は含めない。
            If Cells(CCR + LBC, Col).Value > Up Then Up = Cells(CCR + LBC, Col).Value
            If Cells(CCR + LBC, Col).Value < Lp Then Lp = Cells(CCR + LBC, Col).Value
        Next
        Mp = (Up + Lp) / 2  'Mp は中央値
        If (Bp - Mp) > 0 Then
            my_PhaseIndex = (Bp - Mp) / (Up - Mp)
        ElseIf (Lp - Mp) <> 0 Then
            my_PhaseIndex = -(Bp - Mp) / (Lp - Mp)
        End If
    End With
End Function


'--------------Indexによる取引決定----------
Function my_pTrade(ByVal CCR As Long, _
                    ByVal IndexCol As Integer, _
                    ByVal StocksCol As Integer, _
                    ByVal CashCol As Integer, _
                    ByVal Border As Single, _
                    ByVal Rate As Single) As Long 
    With Worksheets("Data")
        If Rate = 0 Then Exit Function
        Dim EndPriceCol As Long:                    EndPriceCol = .Range("終値").Column
        Dim Phase(5) As Single
        Dim Slope(5) As Single, n As Integer
        Dim DPh(5) As Single
        Dim SellFlg As Boolean, BuyFlg As Boolean


Flg1:
        If Cells(CCR + 2, IndexCol).Value = 0 Then Exit Function   'データ未入力⇒脱出
        For n = 1 To 5 '当日の終値は未入手なので、採用しない。
            Phase(n) = Cells(CCR + n, IndexCol).Value
            Slope(n) = Cells(CCR + n, IndexCol).Value - Cells(CCR + n + 1, IndexCol).Value
        Next n
        For n = 1 To StartRow
            DPh(n) = Slope(n) - Slope(n + 1)
        Next n
        
        '----------勾配が緩くなってきたら売る。(のぼり勾配であっても、手仕舞い)
        If (Phase(1) < Border And Phase(1) > 0) And DPh(1) < DPh(2) And DPh(2) < DPh(3) And DPh(3) < DPh(4) Then SellFlg = True
        '----------勾配が緩くなってきたら買い。(下り勾配であっても、買い)
        If (Phase(1) > -Border And Phase(1) < 0) And DPh(1) > DPh(2) And DPh(2) > DPh(3) And DPh(3) > DPh(4) Then BuyFlg = True
        '
        
        
        '位相による取引 ボーダーをまたいでいるときに取引を実施
        If Border < Phase(2) And Border > Phase(1) Then SellFlg = True
        If -Border > Phase(2) And -Border < Phase(1) Then BuyFlg = True
        
        
        'だましを排除
        'If (Phase(2) < Border) And (Slope(2) < 0 And Slope(1) > 0) Then BuyFlg = True
                                                                       'ボーダーより低いところで底を形成
        'If (Phase(2) > -Border) And (Slope(2) > 0 And Slope(1) < 0) Then SellFlg = True 
                                                                       'ボーダーより高いところで頂点を形成




        '---------------------------------------------------
        my_pTrade = my_TRADE(CCR, StocksCol, CashCol, SellFlg, BuyFlg, Rate)
End With
End Function






-------------------------------------------------------------------------------------------------------------
※2015/12/5よりIndexSimulator は改定を重ね、新ソフトウェアStockFinderとして再リリースした。
再リリースの主な項目は以下の通りであるが、コードのほとんどを書き直したため、高速化するとともに、操作性も全く別のものに改善された。
1)チャートワークシート、インターネットデータ取得シートを本体ソフトウエアからの分離による、ファイルの肥大化防止。
2)指標連動性の分析機能追加



概要紹介ページ
http://katsuyama-shin.blogspot.jp/2015/12/stockfinder.html
公開ページ
http://www.vector.co.jp/soft/winnt/business/se511919.html

2012年1月2日月曜日

保存バックアップ アップデート


しばらく、景気の波の説明をしてきたが、今回は別の話題を挿入する。


中休みである。


実は、前々からUPDATE.xlsを作ろうとしていた。
ユーザーインターフェイスを作るところで、会社の業務が忙しくなり中断していた。
元旦、温泉で温まってから、作ろうと思い立ち、その日に完成できた。


メインモジュールは1年以上使い込んでおり、信頼性はあると思う。
公開するに当たり、操作パネルの美観が必要であろうと考えていた。


■UPDATE.xls                                            

更新したファイルのみをコピー

諸兄はバックアップをどのようにされているだろうか。


プロジェクトを推進するためにフォルダを作成されるだろう。


そして、そのフォルダごとウィンドウズのコピーコマンドでバックアップされているのではないだろうか。


その場合、1回目のバックアップと、2回目のバックアップはほとんど同じ時間が必要になっていると思う。


バックアップには様々な方法があるだろう。


更新したファイルのみをコピーする方法なら、2回目以降のバックアップの時間が短縮する。




かつて、MS-DOS SOFTWARETOOLS という書籍がアスキーからフロッピーとともに出版されており、UD.exe というコマンドがその機能を実現していた。

バックアップリストをメニューに保管

複数のプロジェクトを実施している場合には、様々なバックアップを行うこととなる。


いちいち、元フォルダ、先フォルダを選択するのは、手間である。


バックアップに名称(プロジェクト名等)を付けて、バックアップメニューに登録し、2回目以降は、そこから選択できるようにしている。

操作パネル

バックアップ操作パネル


※バックアップ元・先フォルダに編集中のファイルがあると、エラーメッセージが表示されるので、ご注意あれ。
※OFFICE-KATSUYAMA UPDATE で検索してダウンロードされたし。料金は無料である。正月なので、公開は2012年1月5日以降になるだろう。

2012年1月1日日曜日

景気の波11-IndexSimulator


株価変動を読むための指標は、銘柄や時期によって異なる上に、指標頼みのみの投資ではうまくいかない。
プレイヤー(ユーザー)の自己責任による判断が重要であることを重ねて念を押しておく。

本稿および、ソフトは、各種指標の特性を理解するための一助となることを目的としている。

■ChangeIndex

ChangeIndexは私が名前を付けただけであって、二つの移動平均線による指標のことで、一般に用いられている。
長期間の移動平均に対して短期間の移動平均の乖離する方向が、市場の方向を示し、それにしたがって運用することが多い。


  • 長期移動平均と短期移動平均が一致したときは、ChangeIndexはゼロとなる。
  • 長期移動平均よりも、短期移動平均が高いときは、ChangeIndexはプラスを示す。
  • 長期移動平均よりも、短期移動平均が低いときは、ChangeIndexはマイナスを示す。


長期移動平均線と短期移動平均線が交差するポイントが、市場の方向が変化するポイントとなる。



以下に、銘柄コード8933の値動きの激しい時期と、最近の値動きの少ない時期における、過去のデータを基にした、考察を載せる。

値動きの激しい時期

値動きの少ない時期




プレイヤーは、ChangeIndexを使用する際は、下記にも留意するとよいのではないだろうか。各自の責任による判断で運用してもらいたい。

  1. 長期移動平均線が上向き勾配で、ChangeIndexがプラスの時に株を保有するとよいのではないだろうか。
  2. ChangeIndexによる資産Indexのボトムラインを予測ラインとして直線で描き、資産Indexが予測ラインを下回ったときが手仕舞いのタイミングとなる。
  3. 長期移動平均線が下向き勾配の場合は、ChangeIndexがプラスになってもプレイヤー(ユーザー)は実際の買い執行は失敗に終わる可能性が高い。

-------------------------------------------------------------------------------------------------------------
※2015/12/5よりIndexSimulator は改定を重ね、新ソフトウェアStockFinderとして再リリースした。
再リリースの主な項目は以下の通りであるが、コードのほとんどを書き直したため、高速化するとともに、操作性も全く別のものに改善された。
1)チャートワークシート、インターネットデータ取得シートを本体ソフトウエアからの分離による、ファイルの肥大化防止。
2)指標連動性の分析機能追加



概要紹介ページ
http://katsuyama-shin.blogspot.jp/2015/12/stockfinder.html
公開ページ
http://www.vector.co.jp/soft/winnt/business/se511919.html