We understand that completing the take-home assessment may seem daunting, but it serves as a vital compass that guides us to discover your true trading potential and preferred methodologies. It is a tool that allows us to understand your capabilities and tailor our approach to best suit your needs. We also understand that different strokes for different folks, and we are more than open to alternative suggestions. Your thoughts and opinions are valuable to us, and we are all ears and ready to hear your unique perspective and ideas.

<aside> ⚠️ All assessments are unpaid, but we will consider sponsoring 80% of the cost incurred (e.g. SaaS or third-party tools) if you’re a qualified candidate. During the Take-Home Assessment (THA) phase, there’s no need to share your code. No need to share your ideas and know-how. No need to share performance analysis derived from in-sample trained models unless it is accompanied by an out-of-sample one because it is a no-brainer to build forecasting models on in-sample datasets, especially when curve-fit by deep learning tools.

</aside>

Evaluation. Past performance can be indicative of future results. Therefore, if you have an existing crypto-algorithmic perpetual futures contract (BTCUSDTPERP or ETHUSDTPERP) trading strategies, use the Binance price data that we shared with you on the Take-Home Assessment (THA) to back-test your strategy. Then, submit the most recent thirty-six (36) months of the simulated backtesting results for Evaluation. The results will also help us parameterize your WBUF key trading performance matrices. The Take-Home Assessment (THA) has no time limit and no due date. You are more than welcome to submit and re-submit your backtesting results to us for consideration as long as this Notion-based recruitment page is still visible to you. Once the results assessed based on the HoH model are satisfactory, you can decide if you want Employment or Partnership. Either way, you’ll become our ATSR and we’ll provide you with an MSA to trade your strategy.

Backtest Your Trading Strategy With Binance Historical Data | Binance Blog

We request that you send us the trade-by-trade or time-segmented Profit and Loss (PnL) in CSV file or spreadsheet. This allows us to initiate a thorough Evaluation of your strategy.

Please note that we do not accept graphical outputs or performance summaries as valid forms of historical results for our Evaluation process. However, you are more than welcome to share them with us for the sake of reference.

To ensure accurate PnL calculations, we suggest using the following calculator as a reference:

Futures Calculator | Calculate Profit / Loss on Futures Trades | Binance Futures

Please keep these assumptions in mind when using the calculator:

<aside> 🏦 You should assume conservatively that the transaction cost for Binance crypto futures is 0.045%, which includes slippages and the trading fee charged by Binance when you’re doing the backtesting of your strategy.

</aside>

<aside> ⚠️ Caveat. Eh, backtesting over a short period of time can often yield some pretty decent results. We ain't too worried about that, since we understand that there's no such thing as a strategy that'll work in every situation. If you don't mind, could you run some more tests over different periods and see how it goes? If it's performing well no matter the conditions, it's possible that you've either found the holy grail or there's a bug in the algorithm. Those darn bugs in trading algorithms, especially ones with look-ahead bias, can cause astounding results rather than just slight discounts or deviations. 🥶

</aside>

🎭 How Can I Start Getting the Data?

  1. Data Reduction

    Use Binance official GitHub repository (binance / binance-public-data) Python scripts to download historical OHLCV data from the spot market (e.g. ETHUSDT) or perpetual futures contract market (ETHUSDTPERP or BTCUSDTPERP). However, some novel features might require you to use advanced candlesticks, which can be constructed from trade data (also called tick-by-tick (TBT)), which is, in turn, downloadable using the download-trade.py script.

    Or, you can use the following non-official Python 3.11 compatible script with checksum build-in to download trade (tick-by-tick) data:

    Binance Perpetual Contract Trade Data (Tick-by-Tick) Download

    Or, if you’re geolocation is restricted from downloading from Binance, please try using Google Colab using the following script:

    🔻 https://colab.research.google.com/drive/1VnRt8sBsMYj4N8unn00Bjky45qfrDutL?usp=sharing

    If you’re interested to use limit order book (LOB) data to create features, you don’t have to go through the “Apply for it” process on Binance. LOB sampled data of BTC futures is available for you to download directly from our AWS S3 storage. Contact DO and share your Notion.so account email address so that you can be invited as a guest to our Notion Wiki that contains links to S3 storage.

  2. Novel Features Building

    Make sense of the forefront of time series forecasting research papers (some of them are made available to you in the Learning Resources) and develop novel machine learning features that are unavailable in the public domain (e.g. TA-Lib). If you’re familiar with wizard-based indicator builders, such as Neural Shell Trader, it’s even better. Feel free to use them to build features so that we can evaluate the results more easily.

  3. SaaS Resources

    If you want to train machine learning models using SaaS resources, such as Amazon SageMaker, please Contact DO. We can sponsor 80% of the cost incurred.

🥜 Feature Engineering & API Implementation

If you don’t have a full-blown strategy, send feature output values to us so that we can benchmark them against other features that we have. Note that feature output must be presented in the format of a comma delimited CSV file with five (5) default columns (Date, Open, High, Low, Close) and the feature column(s). “Date” timestamp format is as follows: YYYY-MM-DD hh:mm:ss.fff (e.g. 2017-08-17 04:59:59.999). Demarcation of rows can be defined by other rule(s) instead of just time (e.g. range bar).