風險與交易計畫

倉位大小怎麼算?從停損距離、費用到 Binance 下單數量完整實作

用帳戶風險與交易失效點反推名義倉位,再納入手續費、滑價、數量步進、槓桿與強平緩衝,算出可實際下單的數量。

倉位大小怎麼算?從停損距離、費用到 Binance 下單數量完整實作

讀完這篇,你應該能從「這筆交易最多願意損失多少」出發,算出可下單的名義倉位和實際數量,把手續費、滑價與資金費率預留進去,依 Binance 的數量步進向下修正,最後確認槓桿、保證金、停損與強平順序沒有互相衝突。公式的終點不是紙上的數字,而是平台能接受、風險仍符合預算的委託數量。

先記住:風險金額、倉位、保證金不是同一件事

  • 風險金額:若交易在預定停損附近退出,計畫承受的損失;
  • 名義倉位:實際控制的資產價值;
  • 初始保證金:槓桿部位建立時需要占用的資金;
  • 帳戶餘額:帳戶內資產,不代表每筆交易都應投入。

例如名義倉位 1,000 USDT、使用 5 倍槓桿,簡化初始保證金約 200 USDT;但價格逆向 3% 時,未計成本的部位損失仍約 30 USDT,不會因只放了 200 USDT 保證金就變成 6 USDT。

在 Binance 委託面板對應計算結果

Binance Futures 未登入 BTCUSDT 永續合約頁真實截圖,畫面顯示 Cross、20x、Limit、Price、Size、訂單簿與資金費率欄位

截圖來自 Binance Futures 公開 BTCUSDT 頁面,沒有帳戶、餘額或個人資料。圖中的即時價格、Cross 和 20x 只是截圖當下介面狀態,不是本文推薦的價格、保證金模式或槓桿。

正確順序是:先在平台外或自己的紀錄表算出可承受的名義倉位與數量,再把數量填入 Size;最後才用槓桿決定需要多少保證金。不要看面板允許 20x,就反過來把可用保證金乘以 20 當成應下倉位。

完整計算需要六個輸入

  1. 可用於此策略的交易帳戶金額;
  2. 單筆風險比例或固定風險金額;
  3. 預計進場價;
  4. 交易假設失效的位置,也就是停損基準;
  5. 進出場手續費、滑價及可能的資金費率預留;
  6. 該交易對允許的價格步進、數量步進與最低名義價值。

少掉第五項,紙上風險會低估;少掉第六項,計算出的數量可能無法送單。

第一步:先決定交易帳戶,不要拿總資產直接套公式

長期持有資產、緊急預備金和主動交易資金用途不同。若總資產為 50,000 USDT,但只分配 5,000 USDT 給這套交易策略,倉位公式的 Account Size 應是 5,000,而不是 50,000。

這能避免一筆短線交易在無意間動用整個投資組合的風險容量。若同時使用多個交易所,也要定義公式採用單一帳戶資金,還是整個策略的合併權益。

第二步:用交易失效點決定停損,不要為了放大倉位硬拉近

做多的停損距離比例:

(預計進場價 − 停損價)÷ 預計進場價

做空的停損距離比例:

(停損價 − 預計進場價)÷ 預計進場價

假設做多預計 60,000 USDT 進場,交易結構在 57,600 失效:

停損距離 =(60,000 − 57,600)÷ 60,000 = 4%

先由市場結構、波動或策略規則決定失效點,再計算倉位。若先決定想買 1 BTC,然後把停損硬塞到很近的位置,公式看似正確,交易邏輯卻已被倒置。

第三步:把單筆風險比例換成金額

假設交易帳戶為 5,000 USDT,這一筆願意承受 0.5% 的計畫風險:

風險預算 = 5,000 × 0.5% = 25 USDT

0.5% 只是教學示例,不是適合所有人的建議比例。實際上限要考慮收入穩定性、最大可承受回撤、策略歷史表現、同時持倉數量和資產相關性。

第四步:先從風險預算扣除交易成本

如果把全部 25 USDT 都分配給價格到停損的損失,進出場手續費和滑價會讓實際損失超標。

可用這個保守框架:

可用價格風險 = 總風險預算 − 預估進場費 − 預估出場費 − 預估滑價 − 預估資金費率

假設合計預留 5 USDT:

可用價格風險 = 25 − 5 = 20 USDT

費率應以帳戶當下實際層級和產品頁為準。滑價則可用過去成交紀錄或訂單簿深度估計,不要把示例百分比當成固定平台費率。

第五步:反推名義倉位

核心公式:

名義倉位 = 可用價格風險 ÷ 停損距離比例

延續上例:

名義倉位 = 20 ÷ 4% = 500 USDT

驗算:若 500 USDT 的部位逆向 4%,價格損失約 20 USDT;再加上預留的 5 USDT 成本,總計約等於 25 USDT 風險預算。

第六步:把名義倉位換成實際數量

若預計進場價是 60,000 USDT:

BTC 數量 = 500 ÷ 60,000 = 0.008333… BTC

這還不是最終送單數量。若該交易對數量步進為 0.001 BTC,應向下修正為 0.008 BTC,而不是四捨五入到 0.009 BTC,因為向上修正可能讓風險超出預算。

修正後重新驗算:

名義倉位 = 0.008 × 60,000 = 480 USDT

價格風險 = 480 × 4% = 19.20 USDT

加上原先 5 USDT 成本預留,合計約 24.20 USDT,仍低於 25 USDT 預算。

價格步進、數量步進與最低名義價值都要通過

Binance 的交易對過濾條件會檢查:

  • PRICE_FILTER/tickSize:價格和觸發價必須符合允許步進;
  • LOT_SIZE/stepSize:限價等委託數量必須符合步進;
  • MARKET_LOT_SIZE:市價委託可能有獨立數量範圍;
  • MIN_NOTIONAL:價格乘數量必須達到最低名義價值。

「畫面小數位看起來可以輸入」不代表委託一定合法。送單前以目前合約規格為準;規格可能調整,因此文章不把某個固定 stepSize 寫成所有 BTCUSDT 時期都適用。

做空的公式相同,但停損在進場價上方

假設做空進場 60,000,失效點 61,800,停損距離為 3%;風險預算 25 USDT,成本預留 4 USDT:

可用價格風險 = 25 − 4 = 21 USDT

名義倉位 = 21 ÷ 3% = 700 USDT

數量 = 700 ÷ 60,000 ≈ 0.011667 BTC

依數量步進向下修正後再驗算。做空不能忽略向上跳空或軋空:價格上漲空間沒有固定上限,實際停損也可能比觸發價更差。

槓桿只決定保證金需求,不應重新放大倉位

500 USDT 名義倉位的簡化初始保證金:

槓桿 約需初始保證金 名義倉位 價格逆向 4% 的部位損失
2x 250 USDT 500 USDT 約 20 USDT
5x 100 USDT 500 USDT 約 20 USDT
10x 50 USDT 500 USDT 約 20 USDT

在名義倉位相同時,槓桿改變的是保證金占用和強平緩衝,不是相同價格變動造成的部位 P&L。若從 5x 改成 10x 後又把省下的保證金拿去擴大部位,風險才會增加。

停損必須早於強平區域

倉位公式只控制計畫損失,不會自動保證停損先成交。送單前至少確認:

  1. 平台顯示的預估強平價;
  2. 停損觸發所依據的是 Mark Price 還是 Last Price;
  3. 停損價與強平價之間是否有足夠緩衝;
  4. 資金費率和手續費扣除後,緩衝是否仍足夠;
  5. Cross 模式下,其他部位是否共享同一保證金。

如果做多停損距離是 4%,但預估強平距離只有 3%,這個槓桿設定和交易計畫互相衝突。應降低槓桿、縮小部位或增加合理保證金,而不是期待停損在強平後才生效。

Stop-Market 與 Stop-Limit 對實際損失不同

  • Stop-Market:觸發後以市場可得價格執行,成交機率通常較高,但可能有滑價;
  • Stop-Limit:觸發後建立限價委託,可控制最差限價,但快速穿越時可能不成交。

因此公式中的「停損價」不是最大損失保證。若策略優先保證退出,應為 Stop-Market 預留滑價;若使用 Stop-Limit,則必須規劃未成交後的人工或替代處理。

實際平均進場價改變後要重新計算

限價單可能部分成交,市價單也可能跨多檔價格。若原計畫 60,000 進場,實際加權平均價是 60,300,而停損仍是 57,600:

實際停損距離 =(60,300 − 57,600)÷ 60,300 ≈ 4.48%

若實際成交量仍為原計畫數量,價格風險已改變。進場後應用實際平均價、實際成交量和實際費用重算,不要只保留送單前的試算表。

部分成交時只替已成交部位建立保護

計畫買入 0.008 BTC,實際先成交 0.003 BTC 時:

  • 目前真正持有的是 0.003 BTC,不是 0.008 BTC;
  • 先按 0.003 BTC 建立或核對停損保護;
  • 剩餘 0.005 BTC 若仍掛單,之後成交會讓部位增加;
  • 若不再需要增加部位,取消剩餘委託並確認狀態;
  • 每次新增成交後重新核對總持倉與停損數量。

按原始委託量直接設定 Reduce Only 或退出數量,可能被拒絕或造成後續管理混亂。

多個相關部位要共用一個風險上限

BTC、ETH 和其他高相關加密資產在壓力行情中可能同時觸發停損。三筆各 0.5% 的交易不一定是三個獨立風險,組合壓力損失可能接近 1.5% 再加共同滑價。

可建立兩層上限:

  • 單筆風險上限;
  • 同方向、同主題或高度相關部位的合計風險上限。

新增部位前,把現有部位到各自停損的預估損失加總;超過組合上限時,應縮小新倉,而不是只確認單筆公式通過。

加倉、減倉或移動停損後必須重算

任何一次加倉都會改變總數量和平均進場價;減倉會改變剩餘曝險;移動停損則直接改變距離。重算公式:

剩餘價格風險 ≈ 剩餘數量 ×|平均進場價 − 新停損價|

再加上預估退出成本。若加倉後的總風險超過原預算,應減少新增量、縮減原部位或重新評估交易,而不是把停損移遠來容納更大倉位。

成交後用實際結果驗收

交易結束後記錄:

  1. 計畫與實際平均進場價;
  2. 計畫與實際退出價;
  3. 計畫數量與實際成交數量;
  4. 進出場手續費;
  5. 資金費率收入或支出;
  6. 估計與實際滑價;
  7. 原風險預算與實際淨損失。

風險偏差 = 實際淨損失 − 原風險預算

若長期偏差為正,問題可能是成本預留不足、停損委託類型不合適、流動性估計過度樂觀或進場後擴大部位。用紀錄修正模型,比單純要求自己「更有紀律」更可執行。

常見錯誤與修正方式

錯誤 造成的問題 修正
可用餘額 × 槓桿 = 倉位 風險由平台上限決定 先算風險倉位,再選槓桿
不扣費用和滑價 實際損失經常超標 先從風險預算預留成本
數量四捨五入向上 風險可能超出上限 按 stepSize 向下修正
只看停損,不看強平 可能先被強平 確認停損早於強平且有緩衝
用原始委託量管理部分成交 保護數量不等於持倉 以實際 Positions 和 Fill 為準
多個相關部位各自計算 低估同時觸發風險 設定組合合計上限
進場後移遠停損 風險預算失效 每次修改後立即重算

從計畫到送單的完整順序

  1. 定義交易帳戶金額與單筆風險上限;
  2. 先找到交易失效點,再算停損距離;
  3. 預估進場費、退出費、滑價與可能的資金費率;
  4. 從總風險預算扣除成本預留;
  5. 用剩餘價格風險除以停損距離,得到名義倉位;
  6. 除以預計進場價,得到數量;
  7. 按 stepSize 向下修正並通過最低名義價值;
  8. 選擇槓桿與 Cross/Isolated,確認保證金需求;
  9. 確認停損早於強平並選擇適合的觸發價與委託類型;
  10. 送單後核對實際平均價、成交量、停損數量和剩餘委託;
  11. 平倉後記錄實際淨損失與風險偏差。

完成檢查表

  • 我能區分風險金額、名義倉位、保證金和帳戶餘額。
  • 我的停損來自交易失效點,而不是為了放大倉位而任意拉近。
  • 我已從風險預算扣除進出場費、滑價和可能的資金費率。
  • 我能把名義倉位換成數量,並按 stepSize 向下修正。
  • 我已檢查 tickSize、數量範圍和最低名義價值。
  • 我先固定名義倉位,再用槓桿計算保證金需求。
  • 我的停損早於強平區域,且保留合理緩衝。
  • 我會用實際平均成交價和實際持倉量重新驗算。
  • 我已把相關部位納入組合風險上限。
  • 我會在交易後比較實際淨損失與原風險預算。

十項都能完成,才算把倉位公式真正落到 Binance 委託和風險管理,而不只是會做一道除法題。

延伸閱讀

核對資料

倉位公式是風險預算工具,不是最大損失保證。跳空、流動性不足、停損未成交、費率變動及強平都可能使實際損失高於預估。