風險與交易計畫
倉位大小怎麼算?從停損距離、費用到 Binance 下單數量完整實作
用帳戶風險與交易失效點反推名義倉位,再納入手續費、滑價、數量步進、槓桿與強平緩衝,算出可實際下單的數量。
讀完這篇,你應該能從「這筆交易最多願意損失多少」出發,算出可下單的名義倉位和實際數量,把手續費、滑價與資金費率預留進去,依 Binance 的數量步進向下修正,最後確認槓桿、保證金、停損與強平順序沒有互相衝突。公式的終點不是紙上的數字,而是平台能接受、風險仍符合預算的委託數量。
先記住:風險金額、倉位、保證金不是同一件事
- 風險金額:若交易在預定停損附近退出,計畫承受的損失;
- 名義倉位:實際控制的資產價值;
- 初始保證金:槓桿部位建立時需要占用的資金;
- 帳戶餘額:帳戶內資產,不代表每筆交易都應投入。
例如名義倉位 1,000 USDT、使用 5 倍槓桿,簡化初始保證金約 200 USDT;但價格逆向 3% 時,未計成本的部位損失仍約 30 USDT,不會因只放了 200 USDT 保證金就變成 6 USDT。
在 Binance 委託面板對應計算結果

截圖來自 Binance Futures 公開 BTCUSDT 頁面,沒有帳戶、餘額或個人資料。圖中的即時價格、Cross 和 20x 只是截圖當下介面狀態,不是本文推薦的價格、保證金模式或槓桿。
正確順序是:先在平台外或自己的紀錄表算出可承受的名義倉位與數量,再把數量填入 Size;最後才用槓桿決定需要多少保證金。不要看面板允許 20x,就反過來把可用保證金乘以 20 當成應下倉位。
完整計算需要六個輸入
- 可用於此策略的交易帳戶金額;
- 單筆風險比例或固定風險金額;
- 預計進場價;
- 交易假設失效的位置,也就是停損基準;
- 進出場手續費、滑價及可能的資金費率預留;
- 該交易對允許的價格步進、數量步進與最低名義價值。
少掉第五項,紙上風險會低估;少掉第六項,計算出的數量可能無法送單。
第一步:先決定交易帳戶,不要拿總資產直接套公式
長期持有資產、緊急預備金和主動交易資金用途不同。若總資產為 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 後又把省下的保證金拿去擴大部位,風險才會增加。
停損必須早於強平區域
倉位公式只控制計畫損失,不會自動保證停損先成交。送單前至少確認:
- 平台顯示的預估強平價;
- 停損觸發所依據的是 Mark Price 還是 Last Price;
- 停損價與強平價之間是否有足夠緩衝;
- 資金費率和手續費扣除後,緩衝是否仍足夠;
- 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% 再加共同滑價。
可建立兩層上限:
- 單筆風險上限;
- 同方向、同主題或高度相關部位的合計風險上限。
新增部位前,把現有部位到各自停損的預估損失加總;超過組合上限時,應縮小新倉,而不是只確認單筆公式通過。
加倉、減倉或移動停損後必須重算
任何一次加倉都會改變總數量和平均進場價;減倉會改變剩餘曝險;移動停損則直接改變距離。重算公式:
剩餘價格風險 ≈ 剩餘數量 ×|平均進場價 − 新停損價|
再加上預估退出成本。若加倉後的總風險超過原預算,應減少新增量、縮減原部位或重新評估交易,而不是把停損移遠來容納更大倉位。
成交後用實際結果驗收
交易結束後記錄:
- 計畫與實際平均進場價;
- 計畫與實際退出價;
- 計畫數量與實際成交數量;
- 進出場手續費;
- 資金費率收入或支出;
- 估計與實際滑價;
- 原風險預算與實際淨損失。
風險偏差 = 實際淨損失 − 原風險預算
若長期偏差為正,問題可能是成本預留不足、停損委託類型不合適、流動性估計過度樂觀或進場後擴大部位。用紀錄修正模型,比單純要求自己「更有紀律」更可執行。
常見錯誤與修正方式
| 錯誤 | 造成的問題 | 修正 |
|---|---|---|
| 可用餘額 × 槓桿 = 倉位 | 風險由平台上限決定 | 先算風險倉位,再選槓桿 |
| 不扣費用和滑價 | 實際損失經常超標 | 先從風險預算預留成本 |
| 數量四捨五入向上 | 風險可能超出上限 | 按 stepSize 向下修正 |
| 只看停損,不看強平 | 可能先被強平 | 確認停損早於強平且有緩衝 |
| 用原始委託量管理部分成交 | 保護數量不等於持倉 | 以實際 Positions 和 Fill 為準 |
| 多個相關部位各自計算 | 低估同時觸發風險 | 設定組合合計上限 |
| 進場後移遠停損 | 風險預算失效 | 每次修改後立即重算 |
從計畫到送單的完整順序
- 定義交易帳戶金額與單筆風險上限;
- 先找到交易失效點,再算停損距離;
- 預估進場費、退出費、滑價與可能的資金費率;
- 從總風險預算扣除成本預留;
- 用剩餘價格風險除以停損距離,得到名義倉位;
- 除以預計進場價,得到數量;
- 按 stepSize 向下修正並通過最低名義價值;
- 選擇槓桿與 Cross/Isolated,確認保證金需求;
- 確認停損早於強平並選擇適合的觸發價與委託類型;
- 送單後核對實際平均價、成交量、停損數量和剩餘委託;
- 平倉後記錄實際淨損失與風險偏差。
完成檢查表
- 我能區分風險金額、名義倉位、保證金和帳戶餘額。
- 我的停損來自交易失效點,而不是為了放大倉位而任意拉近。
- 我已從風險預算扣除進出場費、滑價和可能的資金費率。
- 我能把名義倉位換成數量,並按 stepSize 向下修正。
- 我已檢查 tickSize、數量範圍和最低名義價值。
- 我先固定名義倉位,再用槓桿計算保證金需求。
- 我的停損早於強平區域,且保留合理緩衝。
- 我會用實際平均成交價和實際持倉量重新驗算。
- 我已把相關部位納入組合風險上限。
- 我會在交易後比較實際淨損失與原風險預算。
十項都能完成,才算把倉位公式真正落到 Binance 委託和風險管理,而不只是會做一道除法題。
延伸閱讀
核對資料
倉位公式是風險預算工具,不是最大損失保證。跳空、流動性不足、停損未成交、費率變動及強平都可能使實際損失高於預估。
