首頁 Java java教程 具有 Corticon 的內部收益率求解器

具有 Corticon 的內部收益率求解器

Oct 04, 2024 am 06:09 AM

內部報酬率

使用 Corticon 的迭代執行功能,我們可以解決需要求解最佳答案的計算。

內部報酬率(IRR)是一種財務指標,用於評估投資的獲利能力和機會成本等。一個典型的用例是評估是否進行以下投資:

  • 初始費用(投資成本)$5000
  • 第 1 年 - 0 美元回報
  • 第 2 年 - 2000 美元回報
  • 第 3 年 - 0 美元回報
  • 第 4 年 - 4000 美元回報
  • 第 5 年 - 0 美元回報
  • 第 6 年 - 9000 美元回報

內部報酬率透過以下公式求解:

Internal Rate of Return Solver with Corticon

代入我們的數字,我們有:

~0 = (0/(1 IRR)^1 2000/(1 IRR)^2 0/(1 IRR)^3 4000/(1 IRR)^4 0/(1 IRR)^5 9000/( 1 IRR)^6) - 5000

我們正在尋求淨現值 (NPV) 為零(或盡可能接近 X 個小數點)的 IRR。因此,我們需要反覆嘗試不同的 IRR 值,以盡可能接近零。

規則

首先,我們的規則詞彙。

Internal Rate of Return Solver with Corticon

我們有 3 個實體,候選人、現金流和根實體,投資。該投資有任意數量的現金流,我們將對其進行評估。它還具有在決策執行期間創建的任意數量的候選者,代表將插入的各種費率。

輸入將只是母實體投資,以及所有相應的現金流量和標記其順序的分期付款編號。第一個現金流量始終是現金流出,因此其金額始終為負。它將使用值 0 作為其分期付款編號。

接下來是我們的規則。

  • 我們首先初始化 IRR 值,該值將根據產生的 NPV 向上或向下遞增。我們同樣會將初始現金流量的值放入投資實體的「本金」屬性中,然後刪除該現金流量,以便更輕鬆地僅對未來流量進行操作。

Internal Rate of Return Solver with Corticon

  • 我們將把第一個規則表拖曳到一個新的規則流上,該規則流稍後將產生到執行時間決策服務中。規則流可以包含任意數量的規則表和任意數量的「嵌入」規則流。我們將建立一個包含另外兩個規則表的嵌入式規則流,並在透過從規則流托盤中應用「迭代」選項來嘗試候選 IRR 率時循環遍歷此嵌入式規則流。

Internal Rate of Return Solver with Corticon

  • 當規則流上的物件設定為迭代時,它將重複重新執行,直到物件規則派生的值停止變更。一旦物件中的值停止更改,迭代就會停止並繼續執行下一個物件(由連接器決定)。
  • 在內部規則流中,我們有兩個規則表。

Internal Rate of Return Solver with Corticon

  • 第一個將計算每個單獨的現金流量對最終計算的貢獻 - 例如,現金流量 3 的「部分」屬性將是 0/(1 IRR)^3 的結果。

Internal Rate of Return Solver with Corticon

  • 嵌入規則流中的第二個規則表將:
    • 將 Investment.npv 設定為每個現金流量部分減去初始投資的總和
    • 如果 npv 大於零,則將 irr 增加 0.01,如果小於零,則減少 0.01。
    • 但是,我們需要知道我們是否已經嘗試過給定的速率,這樣我們就不會陷入無限循環。這就是候選人發揮作用的地方。我們為嘗試的每個速率建立一個新的候選者,直到遇到已經嘗試過的速率,此時不會觸發任何操作,我們會傳回計算值。

Internal Rate of Return Solver with Corticon

針對頂級規則流進行測試,我們根據上面列出的 5000 美元投資的用例設定輸入。我們看到 Corticon 的 IRR 為 0.27 (27%)。

Internal Rate of Return Solver with Corticon

當我們使用ruletrace 執行規則測試時,我們可以看到Corticon 如何使用每個調整後的利率循環執行規則,直到投資的NPV 盡可能接近零。

Internal Rate of Return Solver with Corticon

規則追蹤資料也可以匯出為 CSV。

Internal Rate of Return Solver with Corticon

從 GitHub 下載專案

以上是具有 Corticon 的內部收益率求解器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致應用無法運行?如何排查和解決? 公司安全軟件導致應用無法運行?如何排查和解決? Apr 19, 2025 pm 04:51 PM

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

如何使用MapStruct簡化系統對接中的字段映射問題? 如何使用MapStruct簡化系統對接中的字段映射問題? Apr 19, 2025 pm 06:21 PM

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

如何優雅地獲取實體類變量名構建數據庫查詢條件? 如何優雅地獲取實體類變量名構建數據庫查詢條件? Apr 19, 2025 pm 11:42 PM

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

IntelliJ IDEA是如何在不輸出日誌的情況下識別Spring Boot項目的端口號的? IntelliJ IDEA是如何在不輸出日誌的情況下識別Spring Boot項目的端口號的? Apr 19, 2025 pm 11:45 PM

在使用IntelliJIDEAUltimate版本啟動Spring...

如何將姓名轉換為數字以實現排序並保持群組中的一致性? 如何將姓名轉換為數字以實現排序並保持群組中的一致性? Apr 19, 2025 pm 11:30 PM

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

Java對像如何安全地轉換為數組? Java對像如何安全地轉換為數組? Apr 19, 2025 pm 11:33 PM

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

電商平台SKU和SPU數據庫設計:如何兼顧用戶自定義屬性和無屬性商品? 電商平台SKU和SPU數據庫設計:如何兼顧用戶自定義屬性和無屬性商品? Apr 19, 2025 pm 11:27 PM

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

使用TKMyBatis進行數據庫查詢時,如何優雅地獲取實體類變量名構建查詢條件? 使用TKMyBatis進行數據庫查詢時,如何優雅地獲取實體類變量名構建查詢條件? Apr 19, 2025 pm 09:51 PM

在使用TKMyBatis進行數據庫查詢時,如何優雅地獲取實體類變量名以構建查詢條件,是一個常見的難題。本文將針...

See all articles