On position rebalancing buffer math
I ran a few simulations on historical data to see how buffering affects trading behavior and the performance of a single-coin portfolio using the trend follow signals previously presented. to be clear: this is not about cherry-picking an optimal value - it is about building intuition for where the limits lie and how the transaction cost model interacts with different buffer widths with buffering, the goal is to reduce trading costs that come from frequent rebalancing. before going further, let me define what I mean by a buffer zone (see [1] for details): given the trading signal and other parameters of the system, we compute a target position. around this target position, we define a buffer zone (e.g., ±10%). the question then becomes: what do we do when the actual position moves outside that zone? in the simulations, I followed the Carver-style approach [1]: when the position breaches the buffer, it is rebalanced back to the nearest boundary of the buffer zone. as the chart below shows, increasing the buffer width naturally leads to fewer trades (BTCUSDT, sample 2021-2025) this introduces a trade-off: a wider buffer means lower transaction costs, but it also means your position lags further behind the target position if the target position drifts. the question is: how much does it really matter whether the buffer is 5%, 10% or 20%? as mentioned, the assumption on the transaction cost model is crucial here. I assume the following simulated fill-price model order_fill_price(t) = close(t) * (1 + order_side(t) * (slippage + spread)) - close(t) is the close price of an bar update. I assume execution occurs immediately after this update - order_side(t) is an indicator: buy (=1), sell (=-1). - slippage represents the assumed market impact (in %). - spread represents the BBO spread (in %). to stay on the conservative side, I include spread cost, because we do not know if the close price of the bar update was a deal on the bid or the ask price in addition, I include transaction costs to account for the assumption that execution mainly happens with IOC orders (taker fees) in my case, I think this model is not far from reality - it is a reasonable approximation for smaller-sized trades. however, for large rebalancing orders that must be executed over time, this assumed fill-price model is overly simplistic let’s have a look at the simulation results. the chart below shows the annualized Sharpe ratio for BTCUSDT under different slippage assumptions (0% to 1%) and buffer widths (0% to 25%). - for low slippage values, frequent rebalancing does not cost much performance - the Sharpe ratio stays fairly stable. only when the buffer width becomes large we do see a noticeable decline - for higher slippage values, the expected trade-offs appear: buffering reduces trading frequency and thus transaction costs, which initially improves Sharpe. however, when the buffer becomes too wide, the position starts to lag significantly behind the target, leading to weaker performance the chart below shows the same simulation, but with Sharpe ratios normalized to 100 at their respective peaks and averaged across several coins (BTC, ETH, SOL, DOGE). this helps visualize the general pattern across a few large-cap coins rather than focusing on BTC only these results simply illustrate how the interaction between slippage assumptions and buffer settings affects portfolio performance under a simple fill-price cost model. other execution assumptions would naturally lead to different outcomes references [1] carver, r: advanced futures trading strategies
1,055
0
本页面内容由第三方提供。除非另有说明,欧易不是所引用文章的作者,也不对此类材料主张任何版权。该内容仅供参考,并不代表欧易观点,不作为任何形式的认可,也不应被视为投资建议或购买或出售数字资产的招揽。在使用生成式人工智能提供摘要或其他信息的情况下,此类人工智能生成的内容可能不准确或不一致。请阅读链接文章,了解更多详情和信息。欧易不对第三方网站上的内容负责。包含稳定币、NFTs 等在内的数字资产涉及较高程度的风险,其价值可能会产生较大波动。请根据自身财务状况,仔细考虑交易或持有数字资产是否适合您。