Prediction and model training work

This commit is contained in:
2026-08-06 17:22:57 +03:00
parent fddcc9190a
commit 465e09fc82
13 changed files with 1689 additions and 403 deletions
+164
View File
@@ -0,0 +1,164 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 11,
"id": "c8a08105",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from dotenv import load_dotenv\n",
"from alpaca.trading.client import TradingClient\n",
"\n",
"load_dotenv()\n",
"\n",
"# Set paper=True for paper trading (sandbox), paper=False for live trading\n",
"trading_client = TradingClient(\n",
" api_key=os.getenv(\"ALPACA_API_KEY\"),\n",
" secret_key=os.getenv(\"ALPACA_SECRET_KEY\"),\n",
" paper=True,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "49b14380",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"No open positions.\n"
]
}
],
"source": [
"positions = trading_client.get_all_positions()\n",
"\n",
"if not positions:\n",
" print(\"No open positions.\")\n",
"else:\n",
" print(\"Current Portfolio Positions:\")\n",
" for pos in positions:\n",
" print(\n",
" f\"Symbol: {pos.symbol:<5} | \"\n",
" f\"Qty: {pos.qty:<5} | \"\n",
" f\"Avg Entry Price: ${float(pos.avg_entry_price):.2f} | \"\n",
" f\"Current Price: ${float(pos.current_price):.2f} | \"\n",
" f\"Unrealized P/L: ${float(pos.unrealized_pl):.2f}\"\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "c032239c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"99997.95 99997.95\n"
]
}
],
"source": [
"account = trading_client.get_account()\n",
"print(\n",
" account.cash,\n",
" account.equity\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "c759e40f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"No open orders found.\n"
]
}
],
"source": [
"from alpaca.trading.requests import GetOrdersRequest\n",
"from alpaca.trading.enums import QueryOrderStatus\n",
"\n",
"# Request only open orders\n",
"request_params = GetOrdersRequest(status=QueryOrderStatus.OPEN)\n",
"open_orders = trading_client.get_orders(filter=request_params)\n",
"\n",
"if not open_orders:\n",
" print(\"No open orders found.\")\n",
"else:\n",
" print(f\"Found {len(open_orders)} open order(s):\")\n",
" for order in open_orders:\n",
" print(\n",
" f\"ID: {order.id} | Symbol: {order.symbol} | \"\n",
" f\"Side: {order.side} | Qty: {order.qty} | Status: {order.status}\"\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "091cf061",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Submitted Order ID: 4838c16d-7a12-4dc3-80cb-7c5d1dbecda3 | Status: OrderStatus.ACCEPTED\n"
]
}
],
"source": [
"from alpaca.trading.requests import MarketOrderRequest\n",
"from alpaca.trading.enums import OrderSide, TimeInForce\n",
"\n",
"# Define a market buy order for 10 shares of SPY\n",
"market_order_data = MarketOrderRequest(\n",
" symbol=\"SPY\",\n",
" notional=100.0,\n",
" side=OrderSide.BUY,\n",
" time_in_force=TimeInForce.DAY,\n",
")\n",
"\n",
"# Submit the order\n",
"order = trading_client.submit_order(order_data=market_order_data)\n",
"\n",
"print(f\"Submitted Order ID: {order.id} | Status: {order.status}\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.15"
}
},
"nbformat": 4,
"nbformat_minor": 5
}