Numerai API 및 numerapi 라이브러리의 raw_query 메소드

이 기사는 Numerai Advent Calendar 2020 12월 12일 기사입니다.

내용


  • Numerai API 개요 설명
  • numerapi에 제공된 다양한 메서드가 Numerai API의 최신 사양을 따르지 않는 경우 numerapi의 raw_query 메서드에서 GraphQL 쿼리를 실행하여 최신 API를 실행할 수 있습니다.
  • 전 자료 관련 트윗
  • htps : // 라고 해서 r. 이 m/무레노하/s타츠 s/1317440144719319040



  • Numerai GraphQL API


  • Getting Started
  • htps : // 메이 m. 코 m / 미끄러짐 / 껄껄 g-s r d u ぃ th 헛소리 s - w

  • 기본적으로 Numerai 웹 사이트 htps // // 김 r. 아이는 Numerai GraphQL API로 구축되므로 사이트에 표시된 데이터는 API에서 얻을 수 있습니다.
  • 리더 보드 페이지의 데이터 취득으로 API가 실행되고있는 모습
  • 요청

  • 응답


  • Numerai는 사이트 구축으로 개발한 API를 사용자에게도 공개해 줍니다.

  • Numerai GraphQL API 엔드 포인트 URL
  • htps : // 아피토 r나멘 t. 누메 r. 아이/

  • GraphiQL Workspace
  • 위의 URL을 브라우저에서 열고 여기에서 쿼리를 작성하여 데이터를 검색 할 수도 있습니다.



  • curl 명령
  • 리더 보드 데이터를 얻는 예
  • 매개 변수는 rankusername만 가져옵니다. 100개로 한정.

  • curl -X POST -H 'Content-Type: application/json' https://api-tournament.numer.ai -d '{ "query": "{ v2Leaderboard(limit: 100) { rank username } } }" }'
    
  • 진단 데이터를 얻는 예
  • 대상 모델의 소유자만 검색할 수 있는 개인 데이터에는 자격 증명이 필요합니다.
  • YOUR_PUBLIC_ID , YOUR_SECRET_KEY , YOUR_MODEL_ID 는 자신의 것으로 채워 주세요.
  • 자격 증명은 htps : // 따뜻한 r. 아이 / 스 b t 또는 htps : // 따뜻한 r. 아이 / 아코 톤 t의 "VIEW API KEYS"에서 확인할 수 있습니다.
  • 모델 ID는 htps // // 김 r. 아이 / 만약 ls의 모델 이름 아래에 나열된 ID입니다.
  • YOUR_PUBLIC_IDYOUR_SECRET_KEY 사이에 $가 들어가므로 빠짐에 주의하십시오.

  • 라운드 번호와 validationSharpe 만 가져옵니다.

  • curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Token YOUR_PUBLIC_ID$YOUR_SECRET_KEY' https://api-tournament.numer.ai -d '{ "query": "{ model(modelId: \"YOUR_MODEL_ID\") { submissions { round { number } validationSharpe } } }" }'
    

    numerapi



  • curl 커멘드로 데이터 취득 가능합니다만, 프로그램으로부터 실행하는 경우는 numerapi 등의 API 클라이언트 라이브러리를 사용하면 편리합니다. GraphQL 쿼리를 래핑하는 편리한 메소드 세트가 제공됩니다.
  • GitHub: htps : // 기주 b. 코 m / 우아 아 d / 누메라 피
  • 기본적인 사용법은 htps : // 기주 b. 코 m/우아제 d/누메라피/bぉb/마s r/레아 D메. md

  • Doc: htps : // 미메라피. Red d. cs. 이오/엔/아 st/아피/누메라피. HTML


  • 리더보드 데이터 검색의 예
    import numerapi
    api = numerapi.NumerAPI()
    response = api.get_leaderboard(100)
    

  • 진단 데이터 취득의 예
    import numerapi
    api = numerapi.NumerAPI('YOUR_PUBLIC_ID', 'YOUR_SECRET_KEY')
    model_id = api.get_models()['YOUR_MODEL_NAME']
    status = api.submission_status(model_id)
    

  • numerapi에 제공된 메소드 이외의 쿼리를 실행하려는 경우



  • 예를 들어, 최근 리더보드에 도입된 3개월 리턴, 1년 리턴의 데이터는 return_13Weeksreturn_52Weeks의 파라미터로 취득할 수 있습니다.
  • 여담이지만, return_13Weeksreturn_52Weeks 만 뱀 케이스인 것은 왜일까?
  • curl -X POST -H 'Content-Type: application/json' https://api-tournament.numer.ai -d '{ "query": "{ v2Leaderboard(limit: 100) { rank username return_13Weeks return_52Weeks } } }" }'
    

  • 그러나 numerapi get_leaderboard 메서드가 최신 API의 매개 변수 사양을 따르지 않을 수 있습니다.
  • 12월 12일 현재 return_13Weeksreturn_52Weeks는 지원되지 않음
  • 응답 매개 변수
  • htps : // 기주 b. 코 m/우아제 d/누메라피/bぉb/마s테 r/누메라피/누메라피. py#L1085



  • 그런 경우에는 raw_query 메서드에서 직접 GraphQL 쿼리를 실행하여 최신 매개 변수를 실행할 수 있습니다.
    api = numerapi.NumerAPI()
    query = '''
        query {
            v2Leaderboard(limit: 100) {
                rank
                username
                return_13Weeks
                return_52Weeks
        }
    }'''
    response = api.raw_query(query)
    

  • 이상입니다.

    좋은 웹페이지 즐겨찾기