2019年1月5日土曜日

やっちまったぜー, NISA 扱いの株式の特定口座への支払

以前 NISA で個別株式の購入をしていたが, ほとんどは売却してしまっていて, 現在は VTI 等の ETF しか購入していない. まだ大丈夫だと思っていたが一番古い個別株が, 年初に特定口座に払出された. まさかそんなに前のものが残っていたのかとちょっと落胆した.
と言うのも, 年末からの下落で, 買値の約 10 円安の払出し価額となってしまったからだ. ただ, 500株しかないので, ほぼ 5,000 円程度の評価損状態がベースとなった. 戻って売却しても申告分離課税で約 1,000 円の譲渡益税が掛る.

たかが 5000 円とは言え, これが最近投資している VTI などに適応されると, とんでもない事になりそうな予感がする. この払出しの件のちょっと前に VTI に対して年度毎にどれだけ購入したかをまとめすぐに分る様にしておいたので, 来年からはロールオーバーもしくは期日までに払出しの指示をしよう.

昔から言われていたとはいえ,
NISA は表向の表情とは違い地雷のある制度だ. くわばらくわばら.

2019年の貯蓄運用投資方針

2018年振り返り

2018年末の下落により対入金額で評価損益約 -0.3% となった. 昨年初は約 +2.9% だったのでかなり下落した. 現在リスク資産比率を約 60% としており, なおかついまだリスク資産, 特に米国株式 33 %, 先進国株式 (除く日本株式) 13% の資産比率に対し, 今回の下落分も含めそれぞれ 3.8%, 2.8% 少ない状態である. SP500 が去年初から約 -7.5%の下落を考えると, おおよそ投資比率程度の下落であると思われる. また, 労働収入税引前の約 60% 以上を投資 (現金債券等を含む) にまわせた.


今年の行動指針

引き続き労働収入税引前の最低 60% を以下の配分で投資していく. しかもほぼインデックスファンドで運用.
振り返りでも書いた通り, 本格的なリセッションが始まるかもしれなく, リスク資産の評価額が半分になる可能性も考慮しておく必要がある. しかし,

米国株式            33% (-3.8%)
先進国株式        13% (-2.8%)
日本株式              5% (+1.4%)
新興国株式           5%
商品 (金など)        2%
REIT                    1%
SocialFunding       1%
債券等                25% (+1.6%)
現金等                15% (+3.4%)

また, 配当は DRIP や手動での配当の再投資を行なう. 本格的なリセッションになると約 2,3 年は下落基調となるので, リスク資産の購入するのには丁度良い時期となる. 現状は 20 ケ月ほどで積立不足が解消される予定である. 日本株式の 1.4% 部分は今後再度上昇した時に NISA 部分の売却を検討する (根拠なき下落とも言われているのでそれを期待する).


指針変更の検討

1. 現状のリスク資産比率 60% を 70% にするか検討
  特に生活防衛資産を定めていないが, 現金にある程度の余裕があるのと, 資産資産運用効率を高める為にリスク資産比率を高めようかと考えている.
   低リスク資産に現金の他に債券等があるが, この債券等に退職金累計額が含まれている. 現状厚生年金支払累計額を含めてはいないが, これらの資産は将来ある時点で一時金もしくは年金受け取りが発生する. その時点で急な投資比率の変化をさける為, 低リスク資産に含めているがリバランスには実質使えない. その為リスク資産比率 70%とすると, 債券等が低リスク資産のほとんどを占める事になり, 現金が少なくなりリバランス資金がなくなる. 70% でなく 65% にするなどの微妙な調整が必要かもしれない.


2. リタイアならびにその後の生活の検討
最低でも 10 数年後には現在の勤め先からアーリリタイアもしくは通常の退職する事が考えられる. 退職後, 必要な生活費, 教育費, その他費用, そして運用投資, 年金受給など見積をしておきスムーズな移行ができる様に気持ちの部分ならびに資産の部分を備える検討に入る. 老後の費用として現役時の費用の 70% 程度を見積ると良いみたいだが, 年間約 300 万円もと見積っておけば良いのではないか. これを年金受給, 配当収入, 資産取り崩しで 95 歳までまかなえれば良いかと思われる.


3. 海外証券口座へのドル送金と円からドル替えの手法の検討
現状, YJFXでドル替 -> SMBC prestia -> Fistradeでの送金を行なっている (いた). しかし, 手数料が約 3500 円ほどかかる. ならびに, Firstrade のドル受け取りが名義人口座でない為, 昨今のマネーロンダリング対策強化により送金できない機会もあると言われている. そこで Interactive Brokers (以下 IB) にてドル替し, ACHにて Union Bank -> Firstrade への送金を検討する. ただし, IB は流動資産として 10 万米ドル切ると口座維持手数料が 10 米ドル発生するので, その対策が必要 (今後 USDJPY=80 になる事を考慮に入れると12.5百万円が必要, うーん, 結構敷居が高い). すべて IB で管理すれば良いのだが, Firstrade は DRIP があるのでそちらで運用していきたい.

                                                                                                100万円        200万円
YJFXでドル替 -> SMBC prestia -> Fistrade                               約3,550円    約3,600円
SMBC -> IB円受取 -> IBFXドル替 -> Union Bank -> Firstrade     約1000円     約1,200円

IB でドル替できる様になると YJFX, SMBC prestia 口座は必要なくなる.

2018年12月30日日曜日

KICAD の short cut 専用 keyboardの作成 (win7対策)

KICAD short cut keyboard が Windows 7 で正しく認識しない問題を知らべている.

とりあえず波形調べてみた.



電圧が高い方が host の出力, 低い方が STM32L072 である. 今回 3.3V LDO がなかったので, 3.0V にた為, 電圧が低い. datasheet 上 margin 0 で範囲に入っている (通常 ng ですが...) これはおかしと思い, それでは mask rom の bootloader での USB DFU ではどうかと確認してみると, ほぼ同じ感じであきらかな違いはない.  どう考えても drive strength が低い様な気がする. しかし, mask rom の bootloader は正しく認識する (ある意味こんな波形で通信できるのかと感心した). 良く考えると, DM,DPは差動信号なので, cross した以降は特にらだらだ上っても問題ない. やはり, 信号波形とは関係なさそうだ.


当初から usb bus analyzer を使用しているが, どうも L072 が PC からの packet 正しく取れていないく, 当然 data も返す事もできていない様に感じる. ただし, ACK が返っているので, ちょっと謎である.

次に USB 用の内部 clock である HSI48 関連を見た. SYSCFG, CRS など関連 module の範囲が広いので enable の順番などを確認した. その中で, 時々正しく device descriptor の要求に対し, 返事を返している事があった. おおよそ 20 回に 1回程度であろうか. やはり USB clock がおかしいのであろうか... HSI48 の 48MHz の clock 出力周波数をみてみると, 結構 jitter が乗っている. また, オシロのなんちゃって周波数カウンタ的にも 100ppm 以上の変化がある. Ubuntu と Windows でのそれほどの違いはなさそうである. 唯一違うのが get device descriptor の setup を発行するまでに SOF が 36 個程度か 20 個程度かというものであるが, mask rom の bootloader の DFU では問題なく認識しているので, この SOF に起因するとは思えない.


HSI48をさんざん調べ一点直したところがあったが, 特に改善はみられない. setup 自体は問題なく受けていて処理ができていないのではなかと考え, 該当 code に printf を入れまくると, なぜか, setup を受けているはずなのに setup 処理 routine に飛んで行っていない. setup 割り込みが発生してから, 割り込み要因が途中で変化している事があった. その時には, Win7 が usb を reset していた. 今回割り込み要因を調べるのに, 毎回 EPnR register から読んでいた. もしやと思い EPnR を一度 locad buffer に入れてからそれを参照する様にした所, 全く問題なくなった.
毎回 EPnR を読むと割り込み要因が消す, もしくは次の packet を受信してその要因をみていたようだ. ふだん module の 割り込み register を一度 loal buffer にいれているのだが, register 名が割り込み感がなかったので毎回読んでいたのではないかと思う. STM32L4x でなにもなかったが STM32L0x は core clock の上限が 32MHz なので処理が比較的ゆっくりとなり, 問題が出てきたのではなかと思われる.




2018年12月28日金曜日

マイナンバーの署名用電子証明書 (長い方) のパスワードは英字はすべて大文字です

年末になり来年早々恒例の確定申告の作成をしなければならない. いままで郵送で送り付けしかも, 受取証の返信封筒なしのチャレンジャブルな方法で行なっていた. 今年始めに通知カードをマイナンバーカードに切り換えた. また, カードリーダも用意してずっと放置していたので, そろそろ設定などをしなければと重い腰を上げた.

以下の処理を行なった
1. JPKIの download と install
2. 国税庁 site の root 証明 / 中間証明設定
   信頼済み site 登録
3. 開始届出の新規設定

この 1 の所で, マイナンバーカードを認識させて, 証明書の表示ができるのでパスワードを打ってみた. これだと思うパスワードを打ってみたが通らない. 違うのかと思い別のパスワードを入れてみてなんやかんやで 5回を越えパスワードロックした.

ググってみると英字は  大文字  だと言う事だ.

通常大文字小文字混在やろうと思うのだが, 大文字だけであった. パスワードのアンロックは区役所の端末でしかできない. たぶん小文字で打ってしまっていたのを大文字にすれば良いはずだが, ロック解除だけでやっぱり違うパスワードだったとなったら二度手間なので, 今回は再設定をした. 大文字だけってなんかだなぁと, 思い区役所に行った. 手続きは,

1. 申請書 (名前, 住所, etc, ロック解除か再設定か, 印鑑いらなかった)
2. 端末で再設定 (4文字パスワードで入れて確認される)

役所に行かなければならないが, 内容はそれほど繁雑でなかった. 大文字だと再認識しながら, 多分同じであろうパスワードを打った. それほど混んでいなかったので役所に着いてから 20 分もかからず完了した.

家に帰り JPKI で確認すると問題なく証明書の確認ができた. ただ eTAX の送信時にまたなんらかのトラブルがあるはずだ. なかなか楽しませてもらえそうだ...




署名用電子証明書 (長い方) のパスワードは英字はすべて  大文字  です

2018年12月22日土曜日

KICAD の short cut 専用 keyboardの作成 (基本機能完成)

先に REF-STM32L4-01 基板を作成した基板に STM32L072 を実装した. L072 の RCC や SYSCFG などの software の実装が必要なので実装し, 安定して動作する様にした. 単一の code でなく, bootloader と本来の機能の firmware の 2 種あるので倍と言う訳ではないが, 1.5 倍くらいの時間が掛っている. また, USB 関連の自作 middleware で HID は実装していなかったのでこの code も実装した. USB の class は面倒な感じであるが, HID に関しては, Report descriptor が面倒なだけであって, 転送する data は 8 byte を送るだけである. また, Report descriptor も面倒と言っても keyboard (boot i/f) であれば, USB HID の document に書いている通りでそれほど苦労する事はない. とは言え実際はちょっと変えているが...



まずは, ROTTAY 22key に接続せず, 基板のみでこの基板上のスイッチでなんらかの Report (key code) を送信する事にし, とりあえず "a" を送る code を書いた. これは単に 0x00, 0x00, 0x04, 0x00, ... の 8 bytes を送るだけで, 難無く送れた. 0x04 部分が USB HID の key code で "a" に相当するものである. しかし, USB を PC に挿して送信できるまでに USB を認識するところで reset 出まくりっぽい挙動をしており, その調整が必要である. また, Windows 7 では全く認識しない. これは要調査である. まさか IAD descript を使っているからか?




USB HID で report を受信できたので, 次は実際に 22key に接続し, key を scan し, それら key に対応した report を送信でき様にする. これにより
    matrix key の読み込み
    押された key から対応する key code を認識
    key code の送信

の実装が必要になる.

key scan とくに問題ないが, key code を認識する所が面倒になる. と言うのも, どの key に key code を対応させるかを考える事になり, それはつまりその key にどの機能を割当るかと同等である. 今回 22key は左手で操作する事を検討しているが, home position や親指に近い方に重要な, もしくは良く操作する機能を assign するべきである. また 22 個の key しかないので, 拡張する為に "SHIFT" key も導入を検討した. 例えば grid 選択の順送りに対して逆は SHIFT を押すなどが可能である. とりあえずの assign はしているが, 頭で考えているだけではあまり意味がないので, 実際に回路を書いて, board data も書いて操作性を確認しようと考えている. 丁度この制御基板を書き key の assign の最適化をするのが良いのではないかと思っている (現状は reference board を使っている).

今は,
"5" に Auto zoom
"123" に部品関連
"789" に配線系
"+-=BS" に layer, grid
"ENTER" に SHIFT

を assign した. とりあえず pcbnew の assign をしたが, eeschema はまた違った assign が必要である. それもあり, 電卓 mark を押す事により, key code を eeschema 用, pcbnew 用の変更をできる様にもした. この 22key はすべての key top が青く光る仕様となっている為, どちらの key code になっているか分る様に pcbnew の key code が選らばれている場合には, 青く光らせている.




                                             左側が eeschema 時, 右側が pcbnew 時


まだまだスカスカでもっと assign できるのだが必要であれば, どんどん assign していけば良いだろう.  とにかく assign にはよく使う単品 command にするべきで

-  配線, 部品配置と良く使うものを assign (あたりまえだけだが)
-  mouse の wheel でできる事は assign しない
-  text の編集など通常の keyboard の操作が必要なものは assign しない
-  22key の組み合せ 2, 3 個で解決できるものは assign しない
             (layer の内層切り替えは Cu.Top +  NEXTにするとか)


ちなみに, key code の assign は人によって変更が必要になると思われるので, USB CDC の 簡易 shell にて, assign の変更ができる様にしておき, MCU 内部 EEPROM に記憶しおけば, 変更する毎に compile の必要はなくなるだろう. それもあって config descriptor は IAD descriptor を用いて CDC と HID の composite device としている.



そう言えば, 当初 22key の匡体が開けられないので, 横を切断した裏蓋を接着剤で止めたのが下の写真, 横から見ると不細工だが, 通常 key top しか見ないので問題ないだろう. とりあえずもう 1 台は必要なので, その時は最初から key top 部分のネジを外して裏蓋を開けよう.



2018年12月16日日曜日

STM32L072 の ROM area の Blank の値は 0x00 です.

タイトルの通り STM32L072 (STM32L0 系一般化できるのではないか) 0x08000000 から始まる ROM area (NVM) の Blank 時の値は 0x00 です.  0xff ではありません.

こんなん初めて見た. びっくりした.
bootloader, burning tool を STM32L0 系であれば, 0x00 は blank の値とする様に変更した.

STM32L4 / L0 reference board の作成と USB の有効化 (やはり USB で trouble)



最近 STM32 を好んで使用しているが, STM32L0 系 L4 系の reference board の NUCLEO-64 などは chip の USB bus が USB コネクタに出力されていない. そこで, USB-uB と chip を載せた reference board の作成を行なった.基板の仕様は以下の通り

1.  STM32 64pin chip (STM32L452RCT, STM32L0x2RBを対象)
2.  USB-uB, USART1/2, I2C slave/master, SWD  CN を実装可能
3.  3.3V, 1.8V DCDC (USBを使用する時は, 3.3V必須)
4.  VCTCXO, MCP4725による周波数安定回路
5.  LED 2個


当初 4層基板の検討をしたが, ひどい間違いで, ゴミ基板を作っても仕方がないので価格重視で両面基板にした. 2 枚集合でカットした後は, 20枚取れる事になるが, 機能的に 20 枚使用するだけの寿命があるかどうかは疑問...

現段階で, USB, USART1, SWD のみ確認済で, I2C は未検証である.
また問題点は以下の通り,

a.  1.8V, 3.3V DCDC の電圧調整用の分圧抵抗が 1個ずつなので, E24 ではあらい
            出力側もしくは GND 側のどちらかは 2個にしておきたい.
b.  DCDC (TLV62569) が 軽負荷すぎてか, リップルが 200mV程度あり


a は現状 1つの値を 9:1 になる様に 2つに分けるとして, b は LDOにするかどうしよう検討が必要である


この基板の最初の嫁ぎ先は, 先に書いた KICAD 専用 keyboard の controller として使用する予定だ. その為, USB HID class が必要で, 例の如く STMicro の標準の SDK は使用しないつもりなので, HID の実装が必要である. ただ, 以前他の CPU で digitizer の report を作成した事があるのでそれほど難易度は高くないと考えている. CPU は STM32L072 を使用した. もちろん HID の実装だけなので, L052 とか L032 で十分であるが, refernce board として高機能, memory 大きめの CPU を使用している. ただし, code を見て L052, L032 に移行できる様に, memory の使用を制限する予定である

HID の実装の準備としてまずは, USB の device desc, config desc を host pc に認識させる必要がある. 見た所 STM32L4 系と同じ usb module を使用していそうなので, usb driver は L4 系のものをそのまま使用した. 以前 H7 系で CRS を使用しないと, 挙動がおかしい事は経験済なので, これはあらかじめ code を書いておいた, しかし, USB 上の SOF が途中でなくなり通信ができなくなるので, USB 用 clock の HSI48 ならびに CRS の挙動を見てみると, MCO から出力される HSI48 の clock が徐々に周波数が低くなり, いずれ止ってしまうのを確認した. CRS が動作しているのにも係らずである.



Reference manual を確認すると, VREFINT と ENREF_HSI48 の bit を set する必要があるとの事, これらは SYSCFG module にあり, bit を set した. しかしそれでも HSI48 が不安定である. SYSCFG は clock gate を enable にした憶えがないので, RCC の SYSCFGEN を set し問題なく HSI48 が安定した.



STM32L072 (L0x2と一般化けいると思う) で USB を使用する時は,
A.  RCC の USBEN を有効
B.  RCC の SYSCFG を有効
C.  SYSCFG の VREFINT, ENREF_HSI48 を有効