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.
Langages du dépôtPython 77.68%4
Parts calculées à partir des octets GitHub Linguist.
| Langage | % | Octets |
|---|---|---|
| Python | 103 813 | |
| Jupyter Notebook | 17 674 | |
| Jinja | 10 228 | |
| Dockerfile | 1 934 |
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.
pip install marketwatchpip install git+https://github.com/antoinebou12/marketwatch.gitgit clone https://github.com/antoinebou12/marketwatch.gitRé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
Usage
docs/getting-started.md
Développement et contributions
Contributing
README.md
Contributing
CONTRIBUTING.md
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.
- Appelant Python
- Enveloppe MarketWatchGame
- Client HTTP de base
- 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.

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
MarketWatch(class) ·marketwatch/__init__.py:37Méthodes dans l’aperçu :
__init__, create_session, generate_csrf_token, get_client_id.MarketWatchGame(class) ·marketwatch/game.py:23Méthodes dans l’aperçu :
__init__, create_game, buy, sell.Bases déclarées :
MarketWatch.MarketWatchException(class) ·marketwatch/exceptions.py:11Méthodes dans l’aperçu :
__init__.Bases déclarées :
Exception.MarketWatchGameException(class) ·marketwatch/exceptions.py:23Méthodes dans l’aperçu :
__init__.Bases déclarées :
Exception.Term(class) ·marketwatch/schemas.py:11Bases déclarées :
Enum.PriceType(class) ·marketwatch/schemas.py:22Bases déclarées :
Enum.OrderType(class) ·marketwatch/schemas.py:34Bases déclarées :
Enum.GameSettings(class) ·marketwatch/schemas.py:47Méthodes dans l’aperçu :
__init__, __str__.Order(class) ·marketwatch/schemas.py:68Méthodes dans l’aperçu :
__init__, __str__, __repr__.Position(class) ·marketwatch/schemas.py:99Méthodes dans l’aperçu :
__init__, __str__, __repr__.Player(class) ·marketwatch/schemas.py:125Méthodes dans l’aperçu :
__init__, __str__, __repr__.Game(class) ·marketwatch/schemas.py:143Méthodes dans l’aperçu :
__init__, __str__, __repr__.
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
- GitHubDépôt source
- READMEDocumentation du dépôt
- Bibliothèque Python pour le trading virtuel MarketWatchArticle du blog