www.gusucode.com > trading工具箱matlab源码程序 > trading/trading/@krg/priceAppreciation.m
function pa = priceAppreciation(~,tradeData) %PRICEAPPRECIATION Price movement alpha. % PA = PRICEAPPRECIATION(K,TRADEDATA) calculates the natural price % movement of a stock. It represents the stock price movement % over the day if the order was not entered into the market. K is the % KRG object and TRADEDATA is entered as a table or structure. % % For example, % % tradeDataTable = % % Size Shares ADV POV TradeTime Volatility Price Alpha_bp % ____ _________ __________ ____ _________ __________ _____ ________ % % 0.10 100000.00 1000000.00 0.20 0.40 0.25 35.00 50.00 % % pa = priceAppreciation(k,tradeDataTable) % % returns % % pa = % % 10.00 % % See also krg, iStar, marketImpact, timingRisk. % Copyright 2016 The MathWorks, Inc. % Determine if Size or Shares/ADV and POV or TradeTime given [sizeFlag,povFlag,timeFlag,tsvpFlag] = krg.krgDataFlags(tradeData); if ~sizeFlag tradeData.Size = tradeData.Shares ./ tradeData.ADV; end if povFlag pa = 0.5 .* tradeData.Alpha_bp .* (tradeData.Size .* (1-tradeData.POV) ./ tradeData.POV); elseif timeFlag pa = 0.5 .* tradeData.Alpha_bp .* tradeData.TradeTime; elseif tsvpFlag ArrivalValue = sum(tradeData.TradeSchedule) .* tradeData.Price; DayTime = sum(tradeData.VolumeProfile) ./ tradeData.ADV; TradePeriods = length(tradeData.TradeSchedule); AlpaDpsPp = tradeData.Alpha_bp * DayTime/TradePeriods/10000 * tradeData.Price; TT = 1:TradePeriods; pa = AlpaDpsPp * sum(tradeData.TradeSchedule .* TT) ./ ArrivalValue * 10000; end