Skip to content

GoQuant-Technologies-Inc/error-workbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

GoQuant Testing Guide

This is a workbook guide for GoQuant. It is used to validate that an exchange integration is bug-free and ready for client use.


Table of Contents

  1. Purpose
  2. Expectations
  3. Instructions
  4. Exchange Testing Table
    4.1 Workbook
  5. Options Strategy Testing
    5.1 Definitions
    5.2 Strategies Workbook

1. Purpose

Testing is the final line of defense before the product is shipped. If we do not test every single aspect thoroughly, the product will fail. This is the most important job in the development cycle. This guide ensures that every exchange integration and trading feature is verified before it reaches clients. Thorough testing ensures not only GoQuant’s success, but our individual success as well. If it's not tested here, it will likely break when clients use it.


2. Expectations

  • All testing must be screen recorded. No screen recording = it did not happen.
  • The results must exactly match the described behavior.
  • If a test fails it must be marked clearly.
  • Bugs must be able to be reproduced every time

3. Instructions

  1. Complete the workbook for your assigned exchange.
  2. For every test row:
    • Mark as ✅ if behavior matches expectations
    • Mark as ❌ if anything fails, stalls, or renders incorrectly
  3. Use the Notes column to describe any differences from what was expected.
  4. If there is a Bug it must be able to be reproduced, be clear with your notes

4. Exchange Testing Workbook

This workbook includes everything except strategies, which are documented separately due to their more technical nature from a trading perspective.

4.1 Workbook

Exchange: ___________
Section Feature Testing Instructions Status (✅/❌) Notes (if not working why?)
Authentication Login Confirm successful login with valid credentials.
Status Confirm exchange is operational and available in UI.
Trade — Native Trading (Spot) Market Order Place a BUY market order for quantity (qt) 1. Check order history, check all values are correct especially fill/order value No order History
Limit Order Place a Limit order to BUY (Set the price much lower than the market price so the order does not fill. This allows you to test the Open Orders display) But, Rejected order shows order placed
Open Order/Modify Limit order Quantity Check Open Orders page is showing limit order correctly. Modify quantity and confirm it does so Still some fields are empty
Cancel Order Try cancel individual order on open orders action. Also try cancel all orders
TWAP Order Place a TWAP Order to BUY qt 20, duration: 10s, interval 2 (modify values to test other cases)
Market-Edge Place a Market-Edge Order to BUY qt 20, duration: 20s (same thing, change values up) There some issuse, as order takes exponentially more time than specified during sell
Limit-Edge Place a Limit-Edge Order to BUY qt 20, interval 2 sell order not working correctly
TWAP-Edge Place a TWAP-Edge Order to BUY qt 20, duration: 20s, interval 2 'error': "'<' not supported between instances of 'float' and 'NoneType'"
Assets Add/Clear Go to assets tab, try the add and clear buttons make sure they work properly. (Does 100% clear actually 100% clear?) Can't find how to clear
Trade — Native Trading (Swap) Market Order Place a LONG market order for quantity 1, do the same for SHORT make sure that works
Limit Order Place a Limit order to LONG (Set the price much lower than the market price so the order does not fill. This allows you to test the Open Orders display)
Open Order/Modify Limit order Quantity Check Open Orders page is showing limit order correctly. Modify quantity and confirm it does so
Cancel Order Try cancel individual order on open orders action. Also try cancel all orders
TWAP Order Place a TWAP Order to LONG qt 20, duration: 10s, interval 2
Market-Edge Place a Market-Edge Order to LONG qt 20, duration: 20s
Limit-Edge Place a Limit-Edge Order to LONG qt 20, interval 2
TWAP-Edge Place a TWAP-Edge Order to LONG qt 20, duration: 20s, interval 2
Trade — Native Trading (Futures) Market Order Place a LONG market order for quantity 1
Limit Order Place a Limit order to LONG (Set the price much lower than the market price so the order does not fill. This allows you to test the Open Orders display)
Open Order/Modify Limit order Quantity Check Open Orders page is showing limit order correctly. Modify quantity and confirm it does so
Cancel Order Try cancel individual order on open orders action. Also try cancel all orders
TWAP Order Place a TWAP Order to LONG qt 20, duration: 10s, interval 2
Market-Edge Place a Market-Edge Order to LONG qt 20, duration: 20s
Limit-Edge Place a Limit-Edge Order to LONG qt 20, interval 2
TWAP-Edge Place a TWAP-Edge Order to LONG qt 20, duration: 20s, interval 2
Trade — Native Trading (Options) Market Order Place a LONG market order for quantity 1
Limit Order Place a Limit order to LONG (Set the price much lower than the market price so the order does not fill. This allows you to test the Open Orders display)
Open Order/Modify Limit order Quantity Check Open Orders page is showing limit order correctly. Modify quantity and confirm it does so
Cancel Order Try cancel individual order on open orders action. Also try cancel all orders
TWAP Order Place a TWAP Order to LONG qt 20, duration: 10s, interval 2
Market-Edge Place a Market-Edge Order to LONG qt 20, duration: 20s
Limit-Edge Place a Limit-Edge Order to LONG qt 20, interval 2
Trade Metrics Verify that Net Asset Value, Assets Under Utilization, 24h Turnover, and 24h PnL values are accurate.
Mirror Trade Ensure the Mirror Trade button functions properly and displays all connected accounts.
Ratio Trade Select two symbols. Ensure the order type is Market or Limit. Place a BUY/LONG order and confirm successful execution.
TP/SL Set a Take Profit (TP) slightly higher and a Stop Loss (SL) slightly lower so one will execute. Confirm execution. Also test with both $ and % values, and with wider gaps to ensure they do not execute prematurely.
Execute Optimally Click the Selected Account button. Confirm it functions and displays valid values.
Portfolio – Portfolio Chart Change all timeframes, metric types, and individual metrics. Ensure the chart updates correctly for each combination.
Selected Account Click the Selected Account button and confirm it displays accurate account data.
Metrics Verify that the ⓘ tooltip for metrics works. Confirm each metric value is accurate (refer to the metrics table if unsure). Some data are missing like slippage.
Portfolio – Holdings Assets Confirm that displayed assets are accurate. Test “Hide Small Balances” toggle. Use Add/Clear. Verify that “100% Clear” truly clears everything. No clear option
Assets / Derivatives Interact with both the Assets and Derivatives charts. Ensure values update accurately.
Open Positions Open Positions tab should reflect all live positions with accurate values.
Liquidate Positions Ensure an open position exists. Then click “Liquidate Positions” and confirm all positions are successfully closed. No actions
Position History Confirm historical position values are correct, especially the Close value.
Portfolio – Post Trade Analytics Dropdowns Test every dropdown: Timeframe, Asset Type, Venue, Algorithm Type, and Time Window. Confirm correct filtering and result display.
Charts Ensure all charts display correct data. Switch between Avg Slippage, Avg Spread, and Avg Fill Rate. Validate values change correctly. No algorithm data.
Analysis Test the Algorithm Analysis, Account Analysis, and Exchange Analysis tabs. Confirm each displays the correct data.
Export Test Export for PDF and XLSX. Open exported files and confirm content is accurate and complete.
Portfolio – Wallet Assets Confirm chart displays accurate assets and their values.
Transfers Verify the Transfers tab is functional.
Settlements Ensure the Settlements tab loads and displays settlement history correctly.
Wallets Confirm correct symbols, wallet names, and balances are displayed.
Wallets – Action Test Details, Deposit, Withdraw, and Transfer buttons. Confirm available balance is correct for each action. Click “All” and check that the total matches the displayed balance.
Orderbook Verify the Orderbook works for multiple symbols. Enable consolidated mode and confirm it reflects data from all selected exchanges.
Data Data Charts Confirm charts update when changing symbol or timeframe. Add another symbol and verify chart updates accordingly.
Trade – Multi-Leg Trading Execution across legs Submit a two-leg strategy. Confirm both legs execute. Also test 1-leg and 3-leg combinations using various symbols and conditions.

5. Option Strategies Testing

In the Trade-Strategies section, each strategy must be evaluated across three criteria:

  • Is the payoff chart correct, and does it respond when values are changed?
  • Is the heatmap correct, and does it respond when values are changed?
  • Does the strategy execute the order (does the order go through)?

While testing:

  • Change inputs such as strike prices, quantities, expiration dates, and whether it's a call or put
  • Switch between BTC and ETH symbols using the symbol selector
  • Try strike prices both above and below the current market price to see how the chart and heatmap react
  • Use different expiry dates and confirm the chart adjusts correctly

5.1 Definitions

Symbol: BTC-USD-250510-106000-C
This breaks down as:

  • BTC: The underlying asset (Bitcoin)
  • USD: The quote currency
  • 250510: Expiry date in YYMMDD format → May 10, 2025
  • 106000: Strike price (see below)
  • C: Call option (use P for a Put)

Price:
This is the amount you are willing to pay per contract. In most cases, this is also called the premium. It is not the market price of BTC, it’s how much the option costs. Example: If you enter Price = 1, you're paying 1 unit of quote currency (e.g. $1) per contract.

Strike Price: The price at which you have the right to buy or sell the asset in the future.

  • For a Call, it’s the price you can buy at
  • For a Put, it’s the price you can sell at

This value is fixed per option and chosen when selecting the option symbol.

Max Loss:
The most money you can lose on the strategy. In simple strategies (like Long Call or Long Put), this is just the premium paid (price × quantity).
If Max Loss shows as -100%, it means you could lose your entire premium.

Break-even:
The price the asset needs to reach at expiry for you to not lose money.

  • For a Call, it’s: Strike + Premium
  • For a Put, it’s: Strike – Premium
    You need to test whether this value updates correctly when you change inputs.

5.2 Strategies Workbook

Strategies Payoff Chart(✅/❌) Heatmap(✅/❌) Execution(✅/❌) Notes
Long Call
Long Put
Bull Call Spread
Bear Call Spread
Bull Put Spread
Bear Put Spread
Long Straddle
Short Straddle
Long Strangle
Short Strangle
Bullish Risk Reversal
Bearish Risk Reversal
Iron Condor (Credit Spread)
Iron Condor (Debit Spread)
Long Calendar Spread
Long Put Calendar Spread
Short Calendar Spread
Short Put Calendar Spread

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published