This is an implementation example of a bot that periodically sends predictions to the alphasea-agent.

Overview

alphasea-example-model

alphasea-example-modelは、 alphasea-agent に対して毎ラウンド、予測を投稿するプログラムです。

Numeraiのexample modelに相当します。

準備

alphasea-example-modelの動作には、 alphasea-agent が必要です。リンク先の手順に従ってセットアップしてください。

インストール

alphasea-example-modelリポジトリをクローンします。

git clone https://github.com/alphasea-dapp/alphasea-example-model.git

以降の作業はクローンしたディレクトリ内で行います。

動かし方

.envファイル作成

以下のような内容の.envファイルをalphasea-example-modelディレクトリ直下に作ります。

.env

ALPHASEA_AGENT_BASE_URL=http://[alphasea-agentのIPアドレス]:8070
ALPHASEA_MODEL_ID=my_model_id
ALPHASEA_MODEL_PATH=data/example_model_rank.xz

ALPHASEA_AGENT_BASE_URLにはalphasea-agentのURLを指定します。

ALPHASEA_MODEL_IDには好きなモデルIDを設定します。 NumeraiのモデルIDに相当します。

モデルIDの制約

  • AlphaSea全体でユニーク
  • 4文字以上31文字以内
  • 小文字のアルファベットと数字とアンダースコア(_)を使用可能
  • 先頭は小文字のアルファベットかアンダースコア(_)のみ

ALPHASEA_MODEL_PATHには学習したモデルファイルのパスをリポジトリルートからの相対パスで指定します。 data/example_model_rank.xzは学習済みモデルです。 学習の仕方はnotebooks内を見てください。

起動

以下のコマンドを実行し、example-modelを起動します。

docker-compose up -d

以下のコマンドで、example-modelのログを確認できます。

docker-compose logs -f

以上で、セットアップは完了です。

モデル改良

モデルを改良する方法を説明します。 以下のコマンドを実行し、jupyterを起動します。

docker-compose -f docker-compose-jupyter.yml up -d

以下のURLにアクセスしjupyterをブラウザで開きます。 モデル学習notebookをいくつか用意したので、それらを参考にして、改良してください。

http://localhost:8888/lab/workspaces/auto-f/tree/notebooks

environment variables

name description
ALPHASEA_AGENT_BASE_URL alphasea-agentのbase URL
ALPHASEA_MODEL_ID モデルID
ALPHASEA_MODEL_PATH モデルファイルパス
ALPHASEA_SYMBOLS 学習に使うシンボル。本番ではモデルファイルに記録した学習時のシンボルを使うのでこの設定は使いません。
ALPHASEA_POSITION_NOISE 提出するポジションにノイズを加える(デバッグ用)

Development

test

alphasea-agentに依存。

docker-compose run --rm model bash scripts/test.sh

predict

docker-compose run --rm model python src/predict.py
Owner
AlphaSea
AlphaSea is a decentralized marketplace for market alphas.
AlphaSea
You cant check for conflicts until course enrolment actually opens. I wanted to do it earlier.

AcornICS I noticed that Acorn it does not let you check if a timetable is valid based on the enrollment cart, it also does not let you visualize it ea

Isidor Kaplan 2 Sep 16, 2021
Flaga ze Szturmu na AWS.

Witaj Jesteś na GitHub'ie i czytasz właśnie plik README.md który znajduje się wewnątrz repozytorium Flaga z 7 i 8 etapu Szturmu na AWS. W tym etapie w

9 May 16, 2022
Bitbucket Server API Wrapper

A simple wrapper for the Atlassian's Bitbucket Server / Bitbucket Datacenter (formerly Stash) REST API, written in Python.

Schweitzer Engineering Laboratories 4 Jan 06, 2023
A library for demo trading | backtest and forward test simulation

Trade Engine a library for demo trading | backtest and forward test simulation Features Limit/Market orders: you can place a Limit or Market order in

Ali Moradi 7 Jul 02, 2022
HackerNews and Reddit in one placce

EDIT: this project is 3.5 years old. I found it sad it's just laying around, so I did some minimal fixes and deployed it. Hope you enjoy! (PR's welcom

Hugo Montenegro 1 Nov 13, 2021
Telegram bot that search for the classrooms status of the chosen day and then return all the free classrooms using your preferred time slot

Aule Libere Polimi Since the PoliMi site no longer allows people to search for free classrooms this bot was necessary! It simply search for the classr

Daniele Ferrazzo 16 Nov 09, 2022
Simple Craigslist wrapper

python-craigslist A simple Craigslist wrapper. License: MIT-Zero. Disclaimer I don't work for or have any affiliation with Craigslist. This module was

Julio M. Alegria 370 Dec 22, 2022
A Discord BOT that uses Google Sheets for storing the roles and permissions of a discord server.

Discord Role Manager Bot Role Manager is a discord BOT that utilizes Google Sheets for the organization of a server's hierarchy and permissions. Detai

Dion Rigatos 17 Oct 13, 2022
A stable telegram bot to get restricted messages with custom thumbnail support

Save restricted content Bot A stable telegram bot to get restricted messages with custom thumbnail support

DEVANSH 3 Feb 09, 2022
Get an SNS alert for High Severity GuardDuty findings

Automation AWS-GuardDuty findings Get an SNS alert for High Severity GuardDuty findings Problem: Getting notified when there is Red finding in AWS Gua

Giten Mitra 4 Nov 18, 2022
Twitter feed of newly published articles in Limnology

limnopapers Code to monitor limnology RSS feeds and tweet new articles. Scope The keywords and journal choices herein aim to focus on limnology (the s

7 Dec 20, 2022
微信支付接口V3版python库

wechatpayv3 介绍 微信支付接口V3版python库。 适用对象 wechatpayv3支持微信支付直连商户,接口说明详见 官网。 特性 平台证书自动更新,无需开发者关注平台证书有效性,无需手动下载更新; 支持本地缓存平台证书,初始化时指定平台证书保存目录即可。 适配进度 微信支付V3版A

chen gang 258 Jan 06, 2023
Cloud-native, data onboarding architecture for the Google Cloud Public Datasets program

Public Datasets Pipelines Cloud-native, data pipeline architecture for onboarding datasets to the Google Cloud Public Datasets Program. Overview Requi

Google Cloud Platform 109 Dec 30, 2022
Estimate the total emissions for popular CryptoArt platforms.

cryptoart-footprint Estimate the total CO2 footprint for popular CryptoArt platforms. The goal is to accurately quantify the ecological damage of Ethe

Kyle McDonald 182 Oct 12, 2022
A simple telegram bot to forward files from one channel to other.

Forward_2.0 Bot to forward messages from one channel to other without admin permission in source channel. Can be used for both private and Public chan

SUBIN 56 Dec 29, 2022
Python library for generating sequences with uniform stimulus history

Sampling Euler tours for uniform stimulus history Table of Contents About Examples Experiment 1 Experiment 2 Experiment 3 Experiment 4 Experiment 5 Co

5 Nov 11, 2021
Hello i am TELEGRAM GROUP MANAGEMENT BOT MY NAME IS Evil-Inside ⚡ i have both amazing modules

Evil-Inside DEMO BOT - Evil-Inside Hello i am TELEGRAM GROUP MANAGEMENT BOT MY NAME IS Evil-Inside ⚡ i have both amazing modules ℂ𝕆ℕ𝕋𝔸ℂ𝕋 𝕄𝔼 𝕆ℕ

PANDITHAN 52 Nov 20, 2022
A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.

Light Gradient Boosting Machine LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed a

Microsoft 14.5k Jan 08, 2023
The official Python library for Shodan

shodan: The official Python library and CLI for Shodan Shodan is a search engine for Internet-connected devices. Google lets you search for websites,

John Matherly 2.1k Dec 31, 2022
Python SDK for Facebook's Graph API

Facebook Python SDK This client library is designed to support the Facebook Graph API and the official Facebook JavaScript SDK, which is the canonical

Mobolic 2.7k Jan 07, 2023