SBI証券の単元未満株(S株)発注画面で上限株数を表示させたい。

やりたいこと

昨年暮れの投資信託のあれこれがあってSBI証券の口座開きました。で、単元未満株の購入手数料が後日キャッシュバックされるということらしいので、配当金再投資を行う証券会社をネオモバイル証券からSBI証券に移すことにしました。
で、いざ注文しようとすると発注画面に上限数の表示がない。同じSBIグループのネオモバイル証券にはその機能あるのに。
ということで以下の画像の赤枠で囲った部分のように、注文時に上限株数を表示させたいです。
f:id:rutilicus:20220115093740p:plain

方針

また、と言われそうですがUserScriptを作成して上限株数表示を追加します。当初は単元未満株の発注ページだけで完結させるつもりだったのですが、ちょっと難しそうだったので以下3つの機能を組み合わせることにします。

  1. ホームページ表示時に買付余力を取得する。
  2. 個別銘柄ページ表示時に制限値幅上限値を取得する。
  3. 単元未満株発注ページ表示時に、上限株数を計算、ページ表示に追加する。

上記方針のため、銘柄コードを直接入力する発注ページでは表示されません。

2022/1/15時点でのSBI証券における単元未満株の発注上限株数Sは制限値幅上限値をP、買付余力をLとすると以下の式を満たす最大の整数となります。


L\geq\left\{\begin{array}{ll} P \times S \times 1.0055 & (S \geq T) \\ P \times S + 55 & (S < T)\end{array}\right.\ where\ T = 55 \div 0.0055P

ソースコード

方針に従って実装します。コードは以下のGistで公開しております。まともにテストなどはしていないので無保証です。

いい感じにIDなどが割り振られていなかったので直近のElementを参照してそこから相対参照で取得することを結構やっています。いつ使えなくなるか不安です。