Skip to content

Marketwatch API Python Library

PyPI PyPI - Python Version PyPI - License PyPI - Downloads GitHub last commit Python Test and Build Coverage

MarketWatch

Docuementation

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.