For the complete documentation index, see llms.txt. This page is also available as Markdown.

Simulator

the purpose of the simulator is to give the most optimized configurations for 0max1 monitor. This recommended configurations is based on historic backtest simulation results.

Steps:

1. Start

2. Read Data 
Raw history funding rates data ('df'): fatched by Monitor.
Simulation Configurations Data ('simulations_df'): contains multiple simulations with varying configurations in each simulation.

4. Define Functions
'token_score_func(symbol, simulations_id, model_num)': 
It is used to calculate the scores for every token within each simulation. 
'simulation_apr_func(Tokens_names, simulations_id, model_num)':
It is used to calculate the APR for each simulation based on the top tokens that are selected by their scores.

5. Model Generation Process 
    - The model initially selects a 'simulations_id' from 'simulations_df'
    - Generates the simulation 10 times over 30 days, utilizing 90 data points at a frequency of every 3 days (yielding 9 data points each)
    - Calculates scores for every 40 tokens within each generation by using the function 'token_score_func(symbol, simulations_id, model_num)' 
    - Selectes the top tokens ('Token_names') based on their scores ('top3_score')
    - Calculates the realized APR of the simulation ('cal_apr') by using the function 'simulation_apr_func(Token_names, simulations_id, model_num)'
    - Stores all 10 generations realized APRs for this single simulation in 'simulation_total_apr'
    - Computes the average APR and stores in 'simulation_avg_apr'
    - Repeat the process for every simulation and the results are stored in 'sorted_simulation_avg_apr'
    - The whole model generation process will repeat every 30 days (90 data points)

6. Collect and Prepare Final Data
Compile all processed and optimized realized APR into a final DataFrame 'max_realized_apr'
Format and sort each simulation's realized APR score and merge it with Simulation Configurations Data 'simulations_df'

7. Output Results
Display the final DataFrame 'final_output'