2012年6月24日日曜日

受発注データベースソフト バージョンアップ

トレーディングデータのバージョンアップを行った。
開発に時間をとられ、ブログの更新が、数か月ストップしてしまった。
現在、β版のテスト中で、8月中旬に公開したいと考えている。


現在このアイディアを元に次のソフト(私の所属する会社のデータベース)を開発中である。


顧客入力シート






おもな改善点は以下の通りである。


① マルチユーザー対応


② ドロップダウンリストなど、ユーザーインターフェースの改善


まず、①について。


マルチユーザー対応は、個人負担軽減とチーム作業のために必須と考えた。一人が使っている間他の誰もデータにアクセスできないようでは、使い物にならないだろう。
しかし、エクセルで、どのように対応するか。それが問題である。


実は、数年前からそれを解決するアイディアは持っていた。
それを、このソフトに応用することにした。



  1. 方法は、台帳エクセルファイルは、レコードを参照するときに瞬時にアクセスし、読み取ったらすぐに閉じるというものである。台帳データをいったん開いて特定のレコードを読み取って、そして、書き込んで、再保存するという作業をパソコンがこなすわけであるから、パソコンには、一瞬負担がかかる。実際テストしみると、台帳を一人のユーザーが占有する時間は、1秒未満に圧縮でき、ほとんどの時間は、台帳エクセルファイルは誰も開いていない状態をつくることができることが分かった。同時アクセスの場合は、再操作のメッセージを出すことにしている。
  2. レコード保存時の矛盾をどう解決するか。という問題がある。誰もが、台帳データを読み取れるということは、それを編集したものを再度保存することも可能ということである。一つのユーザー端末には、1つのレコードが読み取られ、その情報がディスプレイに表示され、編集されている。本ソフトでは、台帳ファイルの編集中のレコードに現在編集中のユーザーを記載するようにした。それにより、他ユーザーにより編集されているレコードかどうかを端末側で知ることができる。それにより、他ユーザーが操作中のレコードを編集不可能にすることができる。それにより実現する。
  3. エクセルには、複数ユーザー同時アクセスの機能もあるが、恣意的に保存しなければ、それを保つことはできないため、複数ユーザーが特定のレコードを編集することもあり得るため、データの整合性が保てなくなってしまうため、その方法は採用していない。


ソフトウェアには、バージョンアップがつきものである。それはどうしようもない。しかし、マルチユーザー方式の場合、バージョンアップを行うためには、すべてのユーザーのパソコンをバージョンアップしなければならない。それは、ユーザーに面倒を強いることになってしまう。

そのため、ソフトウェアを次の3つに分割することにした。


  1. 各ユーザーに配布する起動用ソフト。起動するのみで、それ以上のことは、他ファイルに任せる。
  2. データのみを保存するファイル。一部の仕組みを除き、データのみを保管するファイルとする。
  3. ソフトの仕組みを決めるシステムソフト。このファイルを複数のユーザーが読み取り専用で開く。

それにより、不具合の改善は、3.システムソフト一つを入れ替えるだけで行うことができる。


次に②のこと。

  1. いままでは、エクセルワークシート上で、データを操作していた。これでも使えるのであるが、売り物のソフトらしさがない。それで、ユーザーフォームを全面的に採用し、ワークシートへのユーザーアクセスをなくし、エクセルを使っているという意識は、起動時のみに限定できるようにした。
  2. また、これは、今回のバージョンアップでひとつの大きいことであるが、ユーザー入力がドロップダウンリストを絞り込み、入力をアシストするようにした。先頭一致文字列を数文字入力し、▼ボタンを押すと、先頭一致で、入力可能なレコードの候補をリスト表示するようにした。数千件のレコードから選択することはよくあると思うが、それをパソコンにしてもらうということだ。これにより、ユーザーの負担が相当に軽減される。

現在β版を実際の業務でテスト中である。
8月の公開を期待していただけたら幸いである。
ダウンロードは無料とするが、それだけでも一通り操作は可能であるが、会社情報を設定するのに必要な管理者パスワードを設定するためのソフトをユーザー登録してくれた人に限定して配布する。料金は2000円程度を考えている。

こうご期待。






2012年2月13日月曜日

父 勝山一義の個展

2月12日 日曜日 新井道の駅の 哲学の森 ギャラリーアリーチェでの父 勝山一義の個展を見に行った。
落ち着いた雰囲気のいい会場であった。

普段糸魚川で、額に入っていない父の絵を見てきたが、額に入れて、整然と会場に飾ると、父の雰囲気が絵によりクリヤーに現れていると思われた。

このような会場で個展を開催し、多くの来客があり、売上もあったということで、父は幸せを感じていたに違いない。

新井の会場は、14日までで、その後は、下記会場で開催される。


新潟市新潟美術学園ギャラリー 2月21日~2月26日
025-224-7650
新潟市中央区寄居町340-11 富士マンション2F







2012年2月4日土曜日

勝山一義作品展

■父 勝山一義の作品展が2月に開催される。

開催場所と期間は以下のとおり。

妙高市の
道の駅あらい ギャラリーアリーチェ(哲学の森) 2月2日~2月14日
0255-72-4556
新潟県妙高市猪野山115-4
上信越自動車道 または 上新バイパス からアクセス

新潟市新潟美術学園ギャラリー 2月21日~2月26日
025-224-7650
新潟市中央区寄居町340-11 富士マンション2F

父が、高等学校勤務を退職してから、油彩を始め、現在まで作成した絵20展が展示されるとのこと。

いずれも入場無料。
ご覧いただけたらありがたく思います。

案内はがきから

開催場所の案内図

ゴールデンクロス


■日本経済新聞 2012/2/3の記事に ゴールデンクロスがある。

ゴールデンクロスとは
25日移動平均線が75日移動平均線を下から上へ突き抜けるポイントとのこと。

長期ゴールデンクロスとして、
13週移動平均線が26週移動平均線を下から上へ突き抜けるポイントとのこと。

いずれも「買いサイン」とのことだ。

IndexSimulator で、本日2012年2月4日付でのいくつかの銘柄のゴールデンクロスを調べてみる。

日経平均     2012年2月3日ごろ


NYダウ      2011年11月はじめ



9613 NTTDATA   2011年10月下旬 12月始めには、元に戻り伸び悩む



9432  NTT 2011年10月下旬  2月に入ると、元に戻ろうとする。



8933  NTTUD     2012年1月下旬



8604 野村FG  2012年1月下旬



8411 みずほ 2012年1月下旬




8316 三井住友 2011年12月下旬



8306 三菱東京UFJ 2012年1月下旬



6674 GSユアサ 2011年11月下旬


6255  NPC 2012年1月上旬 1月下旬には、元に戻りさらに下げ

4188 三菱ケミカル まだ、形成せず 


こうしてみてみると、早い順に
NYダウ 生産系 銀行系 日経平均 の順か銀行系が少し遅れ、日経平均に近い。
NTTは2月3日で、逆ゴールデンクロスとなっている。

グラフを見てみると、75日移動平均と25日移動平均は、見やすい。

私の開発した、PhaseIndexでは、ゴールデンクロス付近から、-100%を脱して、大きく上昇することが確認できる。

75日の平均線の下向き勾配がきついときに、ゴールデンクロスを形成しても、また、もとに戻

ってしまうこともあるようだ。

一昨年からの欧州危機、昨年の東日本震災、タイ洪水と市場を冷やす事件が起きてきた。それ

らは、現在は、ほぼ悪材料が出尽くしたといってよいだろう。
欧州危機で、世界経済が冷え込み、各国中央銀行の金融緩和を表明した昨年11月25日ごろが底

となるのではないだろうか。
今後、次のリスクが顕在化するまでは、上昇がつづくのではあるまいか。
次のリスクとしては、中国経済の鈍化、北朝鮮の情勢不安定化の拡大、が考えられる。

-------------------------------------------------------------------------------------------------------------
※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月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