buyholdrebalance.m

来自「仿真人工金融市场Jackson代码」· M 代码 · 共 54 行

M
54
字号
//  BuyHoldRebalance.m//  This file defines the method of investing for a BuyHold investor//  that prefers to re-balance when risky/riskless holdings differ//  too far from 50%/50%.////#import "BuyHoldRebalance.h"// Implementation of a rebalancing BuyHold trader ..@implementation BuyHoldRebalance-balancePort {  double riskyFraction;  ShareRequest * aRequest;  wealth = [self getWealth];  riskyFraction = (riskyUnits*[mktStats getRiskyPrice])/		  wealth;  // just want "close" to 50%, so between 25% and 75% is OK  if (riskyFraction > 0.75) {    optRiskyUnits = (wealth * 0.50) /		    [mktStats getRiskyPrice];    aRequest = [ShareRequest create: [self getZone]];    [aRequest setUnitPrice: -1];    [aRequest setGrossUnits: riskyUnits - optRiskyUnits];    [aRequest setNetUnits: riskyUnits - optRiskyUnits];    [aRequest setTrader: (id *) self];    [mktMaker addRiskySupply: aRequest];  } else if (riskyFraction < 0.25) {    optRiskyUnits = (wealth * 0.50) /		    [mktStats getRiskyPrice];    aRequest = [ShareRequest create: [self getZone]];    [aRequest setUnitPrice: -1];    [aRequest setGrossUnits: optRiskyUnits - riskyUnits];    [aRequest setNetUnits: optRiskyUnits - riskyUnits];    [aRequest setTrader: (id *) self];    [mktMaker addRiskyDemand: aRequest];  }  return self;}

⌨️ 快捷键说明

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