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 + -
显示快捷键?