Spaces:
Running
Running
Benjamin Consolvo
commited on
Commit
·
0ebff45
1
Parent(s):
d48f715
readme updates with prompt
Browse files
README.md
CHANGED
|
@@ -16,6 +16,7 @@ short_description: 'Stock trading application'
|
|
| 16 |
## Overview
|
| 17 |
Stock Trader is an interactive web application built with Streamlit that allows you to monitor stock market data, execute trades using a paper trading account through Alpaca, analyze market sentiment, and visualize stock performance. The application combines real-time market data, news sentiment analysis, and automated trading capabilities in an easy-to-use interface.
|
| 18 |
|
|
|
|
| 19 |
## Features
|
| 20 |
- **Real-time Stock Data**: Track current prices and market status
|
| 21 |
- **Manual Trading**: Buy and sell stocks with customizable quantities
|
|
@@ -24,6 +25,29 @@ Stock Trader is an interactive web application built with Streamlit that allows
|
|
| 24 |
- **Portfolio Visualization**: View your holdings and portfolio value in real-time
|
| 25 |
- **Market Insights**: Monitor top volume stocks with interactive charts
|
| 26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
## Installation
|
| 28 |
|
| 29 |
### Prerequisites
|
|
@@ -38,24 +62,24 @@ Stock Trader is an interactive web application built with Streamlit that allows
|
|
| 38 |
1. Clone the repository
|
| 39 |
|
| 40 |
```sh
|
| 41 |
-
git clone https://
|
| 42 |
-
cd
|
| 43 |
```
|
| 44 |
|
| 45 |
2. Initialize the virtual environment
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
|
| 50 |
3. Install dependencies
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
|
| 55 |
4. Activate the virtual environment
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
|
| 60 |
5. Configure your API keys in `.streamlit/secrets.toml`. For this application, you will need:
|
| 61 |
- **Alpaca Trading API**: Sign up at [Alpaca](https://alpaca.markets/) to get your API key and secret key. This app uses paper trading, so make sure to get paper trading credentials.
|
|
@@ -73,10 +97,12 @@ NEWS_API_KEY = "your_news_api_key"
|
|
| 73 |
ALPHA_VANTAGE_API_KEY = "your_alpha_vantage_api_key"
|
| 74 |
```
|
| 75 |
|
|
|
|
|
|
|
| 76 |
6. Launch the application
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
|
| 81 |
## Using the Application
|
| 82 |
|
|
|
|
| 16 |
## Overview
|
| 17 |
Stock Trader is an interactive web application built with Streamlit that allows you to monitor stock market data, execute trades using a paper trading account through Alpaca, analyze market sentiment, and visualize stock performance. The application combines real-time market data, news sentiment analysis, and automated trading capabilities in an easy-to-use interface.
|
| 18 |
|
| 19 |
+
|
| 20 |
## Features
|
| 21 |
- **Real-time Stock Data**: Track current prices and market status
|
| 22 |
- **Manual Trading**: Buy and sell stocks with customizable quantities
|
|
|
|
| 25 |
- **Portfolio Visualization**: View your holdings and portfolio value in real-time
|
| 26 |
- **Market Insights**: Monitor top volume stocks with interactive charts
|
| 27 |
|
| 28 |
+
## Prompt
|
| 29 |
+
I used a DeepSeek distilled Llama model with the following chat application to build the initial codebase: https://huggingface.co/spaces/Intel/intel-ai-enterprise-inference.
|
| 30 |
+
Here is the prompt I wrote:
|
| 31 |
+
|
| 32 |
+
```text
|
| 33 |
+
You are an expert Python software engineer and financial technology developer. Generate a fully functional Python stock trading application that uses the `yfinance` and `alpaca` packages to fetch stock data and automatically buys and sells stocks (a day-trader) based on sentiment analysis of news headlines. The app should:
|
| 34 |
+
|
| 35 |
+
1. Fetch historical stock data for the top 10 stocks, by volume traded.
|
| 36 |
+
2. Fetch the top news headlines for these top 10 stocks and then rate them as “Negative, Neutral, or Positive” from a sentiment analysis model. If negative, sell the stock. If neutral, hold it. If positive, buy the stock. You will have to make sure that we first have a position in the stock before selling it!
|
| 37 |
+
3. Keep track of when the stock trading day is open or closed to make sure that trades are only being executed while the trading day is open.
|
| 38 |
+
4. Continuously check for updated news and stock prices throughout the trading day.
|
| 39 |
+
5. Display key indicators like moving averages and price charts.
|
| 40 |
+
6. In addition to automatically buying and selling stocks based on news sentiment, allow the user to buy or sell stocks manually.
|
| 41 |
+
7. Maintain a portfolio state (cash balance, current holdings, transaction history).
|
| 42 |
+
8. Log transactions and update the portfolio after each command.
|
| 43 |
+
9. Be modular, clean, and readable. Put all of the code in one block, but split into classes and functions as necessary.
|
| 44 |
+
10. Create a simple web UI for the program. I prefer streamlit.
|
| 45 |
+
11. Include comments, a short README describing how to run the app, and a requirements.txt file for what packages are required.
|
| 46 |
+
12. Use only free frameworks and APIs. Don’t use any paid ones.
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
## Installation
|
| 52 |
|
| 53 |
### Prerequisites
|
|
|
|
| 62 |
1. Clone the repository
|
| 63 |
|
| 64 |
```sh
|
| 65 |
+
git clone https://huggingface.co/spaces/Intel/stocktrader
|
| 66 |
+
cd stocktrader
|
| 67 |
```
|
| 68 |
|
| 69 |
2. Initialize the virtual environment
|
| 70 |
+
```bash
|
| 71 |
+
uv init
|
| 72 |
+
```
|
| 73 |
|
| 74 |
3. Install dependencies
|
| 75 |
+
```bash
|
| 76 |
+
uv add -r requirements.txt
|
| 77 |
+
```
|
| 78 |
|
| 79 |
4. Activate the virtual environment
|
| 80 |
+
```bash
|
| 81 |
+
source .venv/bin/activate
|
| 82 |
+
```
|
| 83 |
|
| 84 |
5. Configure your API keys in `.streamlit/secrets.toml`. For this application, you will need:
|
| 85 |
- **Alpaca Trading API**: Sign up at [Alpaca](https://alpaca.markets/) to get your API key and secret key. This app uses paper trading, so make sure to get paper trading credentials.
|
|
|
|
| 97 |
ALPHA_VANTAGE_API_KEY = "your_alpha_vantage_api_key"
|
| 98 |
```
|
| 99 |
|
| 100 |
+
Or you can add your secrets directly to the Hugging Face Space Settings if you are deploying the application on Hugging Face.
|
| 101 |
+
|
| 102 |
6. Launch the application
|
| 103 |
+
```bash
|
| 104 |
+
streamlit run app.py
|
| 105 |
+
```
|
| 106 |
|
| 107 |
## Using the Application
|
| 108 |
|