Data download:
#!/usr/bin/env python3
from numerapi import NumerAPI
import pandas as pd
import json
napi = NumerAPI(
# public_id='',
# secret_key='',
verbosity="info")
START_ROUND = 300
END_ROUND = 614
TOURNAMENT = 8
query = """
query($roundNumber: Int!, $tournament: Int!) {
roundDetails (roundNumber: $roundNumber, tournament: $tournament) {
roundId
roundNumber
tournament
roundTarget
status
isDaily
roundResolved
roundResolveTime
totalStakes
totalAtStake
totalPayout
payoutFactor
totalSubmitted
models {
roundId
modelName
selectedStakeValue
payoutSettled
tc
tcPercentile
mmc
mmcPercentile
v2Corr20
v2Corr20Percentile
corrWMetaModel
fncV3
fncV4
}
}
}
"""
allPerfs = []
rounds = []
for round_num in range(START_ROUND, END_ROUND+1):
print("roundNumber ", round_num)
arguments = {'roundNumber': round_num, 'tournament': TOURNAMENT}
roundDetails = napi.raw_query(query, arguments)['data']['roundDetails']
perf = pd.DataFrame(roundDetails['models'])
perf['roundNumber'] = round_num
perf['isDaily'] = roundDetails['isDaily']
allPerfs.append(perf)
r = {k: v for k, v in roundDetails.items() if k != 'models'}
rounds.append(r)
pd.DataFrame(rounds).to_csv(f'round-details-{START_ROUND}-{END_ROUND}.csv', index=False)
pd.DataFrame(pd.concat(allPerfs)).to_csv(f'round-{START_ROUND}-{END_ROUND}.csv', index=False)