Aller au contenu

marketwatch : Un client pour un jeu boursier virtuel

marketwatch est un client Python archivé pour le jeu boursier virtuel de MarketWatch. Il regroupe connexion, lecture du jeu et ordres simulés. Ces opérations concernent le jeu, sans connexion à un compte de courtage.

Bibliothèque Archivé
  • Mis à jour
  • 19
  • Python · 77.68%
  • Apache-2.0
Langages du dépôtPython 77.68%4

Parts calculées à partir des octets GitHub Linguist.

Langage%Octets
Python77.68%103 813
Jupyter Notebook13.22%17 674
Jinja7.65%10 228
Dockerfile1.45%1 934

GitHub · README · Statistiques de langages

Aperçu

Pourquoi il existe

Client Python robuste pour interagir avec le jeu boursier virtuel de MarketWatch.

Cas d’usage

Développement de bots de trading automatisés et analyse de portefeuilles.

Démarrage

Ces commandes viennent de la documentation du dépôt. Elles n’ont pas été exécutées pendant cette revue.

README.md · Installation
pip install marketwatch
README.md · Installation
pip install git+https://github.com/antoinebou12/marketwatch.git
README.md · Installation
git clone https://github.com/antoinebou12/marketwatch.git

Références du dépôt

Extraits des guides du dépôt, dans leur langue d’origine. Les liens ouvrent la version du code consultée.

Configuration et utilisation

Usage

README.md

Here are some examples of how you can use the MarketWatch class:
Lire les instructions complètes ↗

Usage

docs/getting-started.md

First, you need to create an account on MarketWatch and then create a virtual game. Once you have created a game, you will be able to get the game’s id from its URL, which will be used throughout the library.
Lire les instructions complètes ↗
Développement et contributions

Contributing

README.md

Contributions are welcome. Please open an issue or submit a pull request.
Lire les instructions complètes ↗

Contributing

CONTRIBUTING.md

Contributions are welcome. Please open an issue or submit a pull request.
Lire les instructions complètes ↗
Documentation source

3 documents lus parmi 3 candidats.

Fonctions et composants 2

Session et périmètre du jeu
MarketWatchGame hérite de MarketWatch et conserve l’identifiant du jeu. buy et sell délèguent au client de base avec cet identifiant. Les opérations de registre et de portefeuille sont liées au jeu.
Dépendance distante
Le client dépend de l’authentification et des réponses du site. La présence d’une méthode Python ne signifie pas que l’opération distante reste accessible. Un échec de connexion peut bloquer les méthodes sans changement local.

Architecture

Les composants et leurs liens restent lisibles en texte. Le diagramme ajoute une vue interactive.

Contexte système Contexte
  1. Appelant Python
  2. Enveloppe MarketWatchGame
  3. Client HTTP de base
  4. Service de jeu virtuel

Liens vérifiés dans le dépôt.

Mermaid Diagramme interactif (chargement à l’ouverture)

Vue générale des composants et des échanges vérifiés dans le dépôt.

Vue statique de l’architecture de marketwatch
Aperçu statique. Le diagramme interactif le remplace après le chargement de Mermaid.
flowchart LR
  n0["Appelant Python"]
  n1["Enveloppe MarketWatchGame"]
  n2["Client HTTP de base"]
  n3["Service de jeu virtuel"]
  n0 --> n1
  n1 --> n2
  n2 --> n3
  n3 --> n2
Version texte du diagramme
  • Appelant Python → Enveloppe MarketWatchGame
  • Enveloppe MarketWatchGame → Client HTTP de base
  • Client HTTP de base → Service de jeu virtuel
  • Service de jeu virtuel → Client HTTP de base
Suivre un parcours dans le code

Suivez buy depuis l’enveloppe jusqu’au client de base. L’enveloppe ajoute l’identifiant; la session et la requête HTTP se trouvent plus bas.

Types et structure des fichiers

13 types déclarés, dont 12 dans l’aperçu des relations de base.

Diagramme des types
classDiagram
direction TB
class t342c57589891["MarketWatch"] {
  __init__()
  create_session()
  generate_csrf_token()
  get_client_id()
}
class te2660179edef["MarketWatchGame"] {
  __init__()
  create_game()
  buy()
  sell()
}
class tc6adc7beb6df["MarketWatchException"] {
  __init__()
}
class tc9e9c1f2c012["MarketWatchGameException"] {
  __init__()
}
class td4c12f6259f0["Term"] {
}
class tb06037cc6ec7["PriceType"] {
}
class t3d7a45c40645["OrderType"] {
}
class t7d8a40bf3f38["GameSettings"] {
  __init__()
  __str__()
}
class tc2b2eb26d380["Order"] {
  __init__()
  __str__()
  __repr__()
}
class t45b8a20e40d7["Position"] {
  __init__()
  __str__()
  __repr__()
}
class t0783a857f7ca["Player"] {
  __init__()
  __str__()
  __repr__()
}
class t6ddf82fcb3c7["Game"] {
  __init__()
  __str__()
  __repr__()
}
class b4a739b8cc727["MarketWatch"] {
  <<unresolved_base>>
}
b4a739b8cc727 <|-- te2660179edef
class b218d46208022["Exception"] {
  <<unresolved_base>>
}
b218d46208022 <|-- tc6adc7beb6df
b218d46208022 <|-- tc9e9c1f2c012
class bcdccbbebe0a2["Enum"] {
  <<unresolved_base>>
}
bcdccbbebe0a2 <|-- td4c12f6259f0
bcdccbbebe0a2 <|-- tb06037cc6ec7
bcdccbbebe0a2 <|-- t3d7a45c40645

Les bases non résolues restent identifiées; les signatures complètes ne sont pas reconstruites.

Index des types

Référence

20 / 20 fichiers admissibles lus (65 dans l’arbre); 0 trop volumineux, 0 échec de lecture et 0 diagnostic de syntaxe.

Ce que couvre l’analyse

Les dossiers connus de dépendances et de compilation, les fichiers d’identifiants et les binaires sont exclus. La collecte couvre les README, les manifestes reconnus et les fichiers source pris en charge.

Les statistiques Linguist couvrent l’ensemble du dépôt et peuvent inclure d’autres langages.

Carte des fichiers
flowchart TD
  root["marketwatch"]
  f0["README.md"]
  root --> f0
  f1["marketwatch/__init__.py"]
  root --> f1
  f2["marketwatch/game.py"]
  root --> f2
  f3["pyproject.toml"]
  root --> f3
  f4["requirements.txt"]
  root --> f4
  f5["setup.py"]
  root --> f5
  f6["api/__init__.py"]
  root --> f6
  f7["api/app.py"]
  root --> f7
  f8["api/docker-compose.yml"]
  root --> f8
  f9["api/requirements.txt"]
  root --> f9
  f10["marketwatch/exceptions.py"]
  root --> f10
  f11["marketwatch/schemas.py"]
  root --> f11
  f12["marketwatch/watchlist.py"]
  root --> f12
  f13["test/__init__.py"]
  root --> f13
  f14["test/test_exceptions.py"]
  root --> f14
  f15["test/test_game.py"]
  root --> f15

Fichiers à lire 3

Références