📄 buyholdrebalance.m
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -