administration:kalshi_account_mode

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
administration:kalshi_account_mode [2026/08/27 18:56] – Initial Kalshi Account Mode documentation frankadministration:kalshi_account_mode [2026/08/27 20:21] (current) – Remove Notes section; document per-lot commission formatting (1 Kalshi contract = 100 T4 lots, 2c => 0.0002) frank
Line 23: Line 23:
   * **Reducing orders reserve nothing.** A new order first offsets existing opposite exposure (net position not already consumed by other working orders); only the portion that increases exposure reserves premium. A position flip reserves only the increasing portion.   * **Reducing orders reserve nothing.** A new order first offsets existing opposite exposure (net position not already consumed by other working orders); only the portion that increases exposure reserves premium. A position flip reserves only the increasing portion.
   * **Estimated fees and commissions are reserved alongside premium** for new fill volume, so available cash reflects the full expected cash impact of the order up front. Accounts with Fees set to //None// reserve no fees.   * **Estimated fees and commissions are reserved alongside premium** for new fill volume, so available cash reflects the full expected cash impact of the order up front. Accounts with Fees set to //None// reserve no fees.
 +  * **Commission rates are per T4 lot, and Kalshi volume is fractional.** One full Kalshi contract is **100 T4 lots** (the market's volume scale), and the premium formulas above are stated per full Kalshi contract. Commission rates, however, are configured per T4 lot — so a fee of 2¢ per full Kalshi contract must be entered as ''0.0002'' (100 lots × 0.0002 = $0.02). Entering ''0.02'' would charge 100× the intended fee.
   * **Order revisions are re-gated.** A revision recomputes the reservation from the proposed price/volume and charges the difference — a price-only revise that increases the reservation consumes cash and can be rejected, while a volume decrease releases its reservation (reserved fees are not refunded).   * **Order revisions are re-gated.** A revision recomputes the reservation from the proposed price/volume and charges the difference — a price-only revise that increases the reservation consumes cash and can be rejected, while a volume decrease releases its reservation (reserved fees are not refunded).
 +  * **Fills re-price the reservation.** Once an order fills, the position's premium is recomputed from the actual average open price — a market order's conservative pre-fill reservation is replaced by the real cost of the fill. A **closing fill releases the position's premium entirely** and books realized P&L into available cash; fees on the closing volume are charged at fill time (reducing orders never reserve them up front).
  
 ===== Pre-trade risk gates ===== ===== Pre-trade risk gates =====
Line 33: Line 35:
   - **Active time** — outside the account's active-time window, exposure-increasing orders are rejected.   - **Active time** — outside the account's active-time window, exposure-increasing orders are rejected.
   - **Cash gate (the sole quantitative limit)** — the order is accepted only when ''AvailableCash + NewOrderCost >= 0'', where NewOrderCost is the incremental premium plus estimated fees (both negative cash). The rejection message shows the values: //"Insufficient cash for Kalshi order cost. AvailableCash:[...] NewOrderCost:[...] = Premium:[...] + Fees:[...]"//.   - **Cash gate (the sole quantitative limit)** — the order is accepted only when ''AvailableCash + NewOrderCost >= 0'', where NewOrderCost is the incremental premium plus estimated fees (both negative cash). The rejection message shows the values: //"Insufficient cash for Kalshi order cost. AvailableCash:[...] NewOrderCost:[...] = Premium:[...] + Fees:[...]"//.
-  - **Firm and parent-account cash pools** — the same order cost must also be covered by the firm's and the parent account'available cash.+  - **Firm and parent-account cash pools (where applicable)** — the same order cost must also be covered by the firm'available cash when **firm-level pre-trade risk is enabled**, and by the parent account'pool when the account belongs to a [[administration:administration_related_account_setup|Related Accounts]] group. Firms with pre-trade risk disabled and accounts without a parent group skip the respective check.
  
 Not applied in this mode: Max Position, Max Clip Size, and all margin checks. Not applied in this mode: Max Position, Max Clip Size, and all margin checks.
Line 39: Line 41:
 ===== Worked example ===== ===== Worked example =====
  
-Account with a $500 balance, no positions, contracts settling at $1.00:+Account with a $500.00 balance, no positions, contracts settling at $1.00, and a fee of **2¢ per full Kalshi contract** (configured as ''0.0002'' per T4 lot; reserved on increasing volume only). Volumes below are full Kalshi contracts:
  
-^ # ^ Action ^ Reservation math Cash reserved ^ Available cash after ^ +^ # ^ Action ^ Premium Fees ^ Total reserved ^ Available cash after ^ 
-| 1 | Buy 300 YES @ 40¢ (limit) | 0.40 × 300 = $120, plus estimated fees (illustrative: $4.20) | $124.20 | $375.80 +| 1 | Buy 300 YES @ 40¢ (limit, **working**) | 0.40 × 300 = $120.00 | 300 × 0.02 = $6.00 | $126.00 | $374.00 
-| 2 | Sell 200 NO @ 65¢ (limit, different market) | (1.00 − 0.65) × 200 = $70, plus fees ≈ $73 ≈ $303 +| 2 | Sell 200 NO @ 65¢ (limit, working, different market) | (1.00 − 0.65) × 200 = $70.00 200 × 0.02 = $4.00 | $74.00 | $300.00 
-| 3 | Market buy 100 (third market) | 1.00 × 100 = $100 conservative, plus fees ≈ $102 | ≈ $201 +| 3 | Market buy 100 (third market) | 1.00 × 100 = $100.00 (conservative, pre-fill) | 100 × 0.02 = $2.00 | $102.00 | $198.00 
-| 4 | Buy 600 YES @ 40¢ (limit) | 0.40 × 600 = $240 + fees > $201 available | — | **rejected** — insufficient cash | +| 4 | Order #3 **fills** at an average price of 55¢ | recomputed from the fill: 0.55 × 100 = $55.00, replacing the $100.00 conservative reservation | $2.00 (as reserved) | $57.00 — releases $45.00 | $243.00 | 
-Sell 300 @ 55¢ against the filled order #1 position | pure reducing order | $0 | unchanged |+| 5 | Buy 600 YES @ 40¢ (limit) | 0.40 × 600 = $240.00 | 600 × 0.02 = $12.00 | $252.00 > $243.00 | **rejected** — insufficient cash | 
 +Order #1 **fills** at its 40¢ limit | recomputed from the fill: 0.40 × 300 = $120.00 — same as reserved | $6.00 (as reserved) | $126.00 — no change | $243.00 (unchanged) | 
 +| 7 | **Working** sell 300 @ 55¢ against the filled #1 position | pure reducing order: $0.00 | $0.00 (not reserved for reducing volume) $0.00 | $243.00 (unchanged) | 
 +| 8 | Revise the working sell down to 53¢ | still a pure reducing order: $0.00 | $0.00 | $0.00 | $243.00 (unchanged) | 
 +| 9 | The sell **fills** at 53¢ — position #1 closes | filled premium released: **+$120.00**; realized P&L booked: (0.53 − 0.40) × 300 = **+$39.00** | closing fees charged at fill: 300 × 0.02 = **−$6.00** | net **+$153.00** released | **$396.00** |
  
-If order #1 fills and the market later settles at $0, the realized loss is bounded by the $120 premium already reserved and paid — that is the fully collateralized design.+Two fills, two different outcomes: a market order's conservative reservation is re-priced down on fill (step 4 releases $45.00), while a limit order filling at its own limit price converts the reservation to actual cost with no cash change (step 6, estimate = actual). 
 + 
 +Step 9 is the working-vs-filled distinction in one row: while the reducing sell was merely //working// (steps 7–8) it cost nothing and released nothing; only the //fill// releases the closed position's premium, books the realized P&L into available cash, and charges the closing fees. 
 + 
 +If the position from order #3 (long 100 at an average of 55¢) is held to settlement and the market settles at $0, the realized loss on it is the $55.00 premium already paid plus its $2.00 fee — exactly the cash reserved after the fill. That is the fully collateralized design.
  
 ===== Cash and equity formulas ===== ===== Cash and equity formulas =====
Line 63: Line 73:
 | Account Mode | Set to **Kalshi** (Admin Portal or Admin API). | | Account Mode | Set to **Kalshi** (Admin Portal or Admin API). |
 | Funding | The cash balance is the account's entire risk budget — fund it accordingly. | | Funding | The cash balance is the account's entire risk budget — fund it accordingly. |
-| Fees | Configure account fees as usual; estimates are reserved on working orders. With Fees = //None// nothing is reserved and imported fees still reduce cash. |+| Fees | Configure account fees as usual; estimates are reserved on working orders. **Commission rates are per T4 lot and one full Kalshi contract is 100 T4 lots** — a 2¢-per-contract fee is entered as ''0.0002''. With Fees = //None// nothing is reserved and imported fees still reduce cash. |
 | Markets | Only Kalshi prediction markets are tradeable in this mode; no per-market enablement is needed beyond the exchange being available to the firm. | | Markets | Only Kalshi prediction markets are tradeable in this mode; no per-market enablement is needed beyond the exchange being available to the firm. |
 | Resolved Value override | Optional: set the **parent firm contract** margin value for a contract to override the default $1.00 payout. Leave unset for standard binary contracts. | | Resolved Value override | Optional: set the **parent firm contract** margin value for a contract to override the default $1.00 payout. Leave unset for standard binary contracts. |
 | Server | The account must be hosted on an Account Handler with access to the Kalshi exchange feed (arranged by CTS). | | Server | The account must be hosted on an Account Handler with access to the Kalshi exchange feed (arranged by CTS). |
 +| Desktop client version | The T4 desktop client displays Kalshi available cash and equity with this mode's formulas from version **8.0.1.88** onward. Older desktop builds show futures-style values for Kalshi accounts — if a client-side balance looks wrong, check the frontend version first. |
 | Active time / blocked flags | Honored as in other modes: they block exposure increases while allowing reducing and flattening orders. | | Active time / blocked flags | Honored as in other modes: they block exposure increases while allowing reducing and flattening orders. |
- 
-===== Notes ===== 
- 
-  * Kalshi accounts use the standard end-of-day day change only (no alternate mid-day day change). 
-  * All reservations and checks are converted to USD using the contract currency's conversion rate. 
-  * Premium reservation math respects the market's volume scale, so fractional-contract listings reserve proportionally. 
-  * Kalshi mode is not compatible with [[administration:propfirm_rules|PropFirm Account Rules]] — prop-firm rules require the Auto Liq account mode. 
  • administration/kalshi_account_mode.1787856981.txt.gz
  • Last modified: 2026/08/27 18:56
  • by frank