⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compactalm.mod

📁 Numerical Methods In_Finance And Economics Matlab Source Code
💻 MOD
字号:
set assets;             # available investment options
param initwealth;       # initial wealth
param target;   # target liability at time T
param reward;   # reward for excess wealth beyond target value
param penalty;	# shorfall penalty 

# NODE SETS
set init_node;   		# initial node
set interm_nodes;       # intermediate nodes
set term_nodes;         # terminal nodes
# immediate predecessor node
set pred{interm_nodes union term_nodes} 
            within {init_node union interm_nodes};
param prob{term_nodes};	# probability of each scenario
# return of each investment option at the end of time periods
param return{assets, interm_nodes union term_nodes};  

# DECISION VARIABLES
# amount invested in trading nodes
var invest{assets,init_node union interm_nodes} >= 0;   
var above_target{term_nodes}>=0;	     # amountt above final target
var below_target{term_nodes}>=0;	     # amountt below final target

# OBJECTIVE FUNCTION
maximize exp_value:
    sum{s in term_nodes} prob[s]*(reward*above_target[s]
        - penalty*below_target[s]);

# CONSTRAINTS
# initial wealth is allocated in the root node
subject to budget{n0 in init_node} :
    sum{k in assets} (invest[k,n0]) = initwealth;  
# portfolio rebalancing at intermediate nodes
subject to balance{n in interm_nodes, a in pred[n]} :
    (sum{k in assets} return[k,n]*invest[k,a]) =
    sum{k in assets} invest[k,n];
# check final wealth against targer
subject to scenario_value{s in term_nodes, a in pred[s]} :
    (sum{k in assets} return[k,s]*invest[k,a]) 
    - above_target[s] + below_target[s] = target;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -