銀行の収益モデルとは何でしょうか? 3 つの言葉: 情報の非対称性です。銀行は預金者から資金を集めて貸し出し、その金利差がいわゆる「利益」となります。 私の国では、中国人民銀行は、各四半期末の20日を銀行の利息決済日と定めており、利息は年に4回決済されます。そのため、預金者に支払われる利息は、毎年非常に頻繁に計算する必要があります。利息を計算する場合、小数点の扱い方が重要になり、利益額を決定する上で重要な詳細になります。 一般的に、小数点以下の桁数を残す場合は四捨五入がよく使用されることは誰もが知っています。 5未満の数字は切り上げられて切り捨てられ、5以上の数字は切り上げられて切り捨てられます。すべての位置の数字は自然に計算されるため、確率計算によれば、切り上げられた数字は0から9の間で均等に分布します。 10 回の預金利息の計算をモデルとして、銀行員の視点からこのアルゴリズムについて考えてみましょう。 破棄された値には、0.000、0.001、0.002、0.003、0.004 が含まれます。銀行にとっては、破棄された内容は支払う必要がなくなるため、破棄された部分を「利益」として理解できます。 丸められた数字には、0.005、0.006、0.007、0.008、0.009 が含まれます。銀行にとって、丸められた数字は損失を引き起こし、対応する損失額は、0.005、0.004、0.003、0.002、0.001 です。 切り捨てられて丸められる数字は 0 から 9 の間で均等に分散されるため、10 回の預金ごとに丸めることで銀行側が得る利益は次のようになります。 0.000 + 0.001 + 0.002 + 0.003 + 0.004 - 0.005 - 0.004 - 0.003 - 0.002 - 0.001 = -0.005 一般的に言えば、10 回の取引ごとに端数処理により 0.005 元の損失が発生します。つまり、利息計算ごとに 0.0005 元の損失が発生します。ある銀行に 5,000 万人の預金者がいると仮定します。単純に四捨五入の誤差によって毎年失われる金額は次のようになります。 パブリッククラスクライアント{ 計算結果は、「銀行が毎年失う金額:100000.0」となります。ちょっとした端数処理が毎年10万元の損失につながるとは信じられないかもしれません。しかし、現実世界の環境では、実際の損失ははるかに大きくなる可能性があります。 この状況は米国のプライベートバンカーによって発見され、この問題を解決するための修正アルゴリズムが提案されました。 「捨てられた数字の値が 5 未満の場合、そのまま捨てられます。 破棄された数字の値が 6 以上の場合、繰り上がり後に破棄されます。 破棄された数字の値が 5 に等しい場合、次の 2 つのケースがあります。5 の後に他の数字がある場合 (0 ではない)、その数字は繰り上がり、破棄されます。5 の後に 0 が続く場合 (つまり、5 が最後の数字である場合)、5 の前の数字のパリティを使用して、その数字を繰り上がるかどうかが決定されます。奇数は繰り上がり、偶数は破棄されます。 ” 上記のすべてを 1 つの文にまとめると、最も近い 5 に切り上げ、5 の後の数が 0 でない場合は 1 を加え、5 の後の数が 0 の場合はその数が奇数か偶数かを検討します。5 の前の数が偶数の場合はそれを破棄し、5 の前の数が奇数の場合は 1 を加えます。 例として、2 桁の精度を使用します。 10.5551 = 10.56 10.555 = 10.56 10.545 = 10.54 (インターネットからの写真) 簡単に言えば、「最も近い偶数に切り上げる」という銀行家のアルゴリズムにより、データをより科学的かつ正確に処理することができます。 実際のアプリケーションでは、大量のデータを含む表計算でバンカーアルゴリズムが最もよく使用されますが、表計算では一連の組み込み式による複利計算が必要になります。一般ユーザーにとっては、理解するのも使用するのも面倒で複雑です。 この問題をより便利に解決するために、このような要件を満たすカスタム関数を使用できます。これにより、ユーザーはカスタム関数名を覚えておくだけで、このようなルールで関数を使用できるようになります。 次に、フロントエンドテーブルで「最も近い偶数に丸める」を素早く実装する方法を見てみましょう。 まず、関数の名前と、関数が受け取るパラメータの数を定義する必要があります。私たちが実現したいのは 2 つのパラメータを渡すことです。「1」は丸める必要がある値、「2」は保持する小数点以下の桁数であり、値と桁数に基づいて丸めが実行されます。 var FdaFunction = 関数(){ 次に、ユーザーの理解と使用を容易にするために、このカスタム関数に説明を追加する必要があります。 FdaFunction.prototype.description = 関数( ) { 最後に、重要なステップ、つまり関数の論理演算をevaluateに配置します。渡された値に対して何らかの判断を行い、正規表現を使用していくつかの一致を作成します。 「5 in double」を達成するには、繰り上がるかどうかを決定するために切り捨てる必要がある最後の桁の値も判断する必要があります。詳細については、添付の完全なデモを参照してください。 FdaFunction.prototype.evaluate = function ( context , num , places ) { 完全なデモをダウンロード: https://gcdn.grapecity.com.cn... カスタム数式について詳しく知りたい場合は、次のリンクを確認してください。 https://demo.grapecity.com.cn... |
<<: 2022 年に予測されるロボット技術のトレンド トップ 10
人工知能は未来をリードする戦略的技術として、世界の産業構造、経済活動、都市形態、そして人間のライフス...
[[403820]]この記事はWeChat公式アカウント「DATA STUDIO」から転載したもの...
10月31日、中関村サイエンスパーク管理委員会の指導の下、美団クラウドが主催し、「AIの力で共存とW...
[[389030]]画像ソース: https://pixabay.com/images/id-48...
ボストン・ダイナミクスが「バンドで演奏」します!今回のターゲットは有名な「ローリング・ストーンズ」。...
[[388981]]今まで見たことのない犬種や色であっても、私たちは一目見てその犬を認識することがで...
教師のアシスタントとして、また生徒のガイドとして、教育における人工知能は教育業界全体を変革することが...
IT Homeは12月14日、GoogleがAI駆動型コード補完・生成ツール「Duet AI for...
[51CTO.com クイック翻訳] 人工知能の発展に伴い、人々の日常生活に密接に関係する多くの分野...
[[347900]] 2020年10月、ディープラーニング分野のトップカンファレンスであるICLR ...