Marketwatch API Python Library
A Python libary to interact with the MarketWatch Stock Market Game Based on code from
- https://github.com/kevindong/MarketWatch_API/
- https://github.com/bwees/pymarketwatch
Feature
- Logging in and out of the site
- Getting the current price of a stock
- Getting information about games on the site
- Buying, selling, shorting, and covering stocks in a game
- Creating, adding to, getting, and deleting watchlists
- Getting, adding to, and deleting items from a portfolio
- Getting and cancelling pending orders
- Checking if the game is down
Installation
pip install marketwatch
pip install git+https://github.com/antoinebou12/marketwatch.git
git clone https://github.com/antoinebou12/marketwatch.git
Usage
Here are some examples of how you can use the MarketWatch class:
Import
First, import the MarketWatch class from the script:
from marketwatch import MarketWatch
Login
Then, create an instance of the MarketWatch class using your MarketWatch username and password:
marketwatch = MarketWatch(username, password)
Get Stock Price
To get the current price of a stock:
marketwatch.get_price("AAPL")
Interact with Games
https://www.marketwatch.com/games
To get information about games on the site:
marketwatch.get_games()
Get Game
marketwatch.get_game("game-name")
Get Game Settings
marketwatch.get_game_settings("game-name")
Get Leaderboard
marketwatch.get_leaderboard("game-name")
Get Portfolio
marketwatch.get_portfolio("game-name")
Get Positions
marketwatch.get_positions("game-name")
Get Pending Orders
marketwatch.get_pending_orders("game-name")
Buy Stock
marketwatch.buy(game_id, "AAPL", 100)
Sell Stock
marketwatch.sell("game-name", "AAPL", 100)
Create Watchlist
https://www.marketwatch.com/watchlist
To create a watchlist:
marketwatch.create_watchlist('My Watchlist')
Add Stock to Watchlist
To add stocks to a watchlist:
marketwatch.add_to_watchlist(watchlist_id, ['AAPL', 'GOOG'])
Get All Watchlists
To get all watchlists:
watchlists = marketwatch.get_watchlists()
Delete Watchlist
To delete a watchlist:
marketwatch.delete_watchlist(watchlist_id)
Example
if __name__ == "__main__":
import os
username = os.environ.get("MARKETWATCH_USERNAME")
password = os.environ.get("MARKETWATCH_PASSWORD")
marketwatch = MarketWatch(username, password)
print(f"Price: {marketwatch.get_price('AAPL')} \n")
print(f"Games: {marketwatch.get_games()} \n")
games1 = marketwatch.get_games()[0]["name"].lower().replace(" ", "-")
print(f"Game: {marketwatch.get_game(games1)} \n")
print(f"Game Settings: {marketwatch.get_game_settings(games1)} \n")
print(f"Leaderboard: {marketwatch.get_leaderboard(games1)} \n")
print(f"Porfolio: {marketwatch.get_portfolio(games1)} \n")
print(f"Position: {marketwatch.get_positions(games1)}")
print(f"Orders Pending: {marketwatch.get_pending_orders(games1)}")
marketwatch.buy(games1, "AAPL", 100)
print(f"Position diff: {marketwatch.get_positions(games1)}")
Contributing
Contributions are welcome. Please open an issue or submit a pull request.
License
This project is licensed under the MIT License.