Traadence's Stock Portfolio Management App combines brokerage execution, position tracking, pending-order control, and an AI chat interface in one web workspace. It is built for people who understand basic stock trading but want a clearer path from a question such as “What orders are still open?” to a verified account action.
Ask about the account, review the proposed action, and confirm before anything reaches the broker.
One Workspace for Orders, Positions, and Account Questions
The platform connects to the Alpaca Trading API and presents buying, selling, cancellation, holdings, cash, and order status through a single authenticated session. A trader can submit an order, see whether it is accepted, partially filled, filled, rejected, or cancelled, and verify that the position view reflects the broker state.
The chat assistant is not treated as an autonomous adviser. It reads permitted account data, explains current state, and prepares structured actions for review. Any instruction that could change the account is converted into a preview containing symbol, side, quantity, order type, time in force, and estimated effect on buying power. Execution remains behind an explicit confirmation step.
Core Features
| Feature | Description |
|---|---|
| Broker-Verified Order Entry | Mistyped symbols, quantities, and order settings create avoidable failures. The order ticket validates required fields before sending requests through Alpaca’s order endpoint. |
| Buy, Sell, and Cancel Controls | Scattered controls make it difficult to understand what changed. The platform keeps submissions and cancellation requests in one activity flow with broker-returned status, timestamps, and rejection messages. |
| Live Position Reconciliation | A stale dashboard can misstate exposure. The holdings view reconciles against Alpaca’s positions endpoint and separates quantity, average entry price, market value, and unrealized change. |
| Streaming Account Updates | Polling alone can leave pending orders behind the broker. WebSocket updates refresh order and account state as events arrive, with REST reconciliation after reconnects. |
| Confirmation-Gated AI Actions | Natural-language requests can be ambiguous. The assistant resolves the intended symbol and action, shows the normalized order payload, and requires a final confirmation before submission. |
| Issue and Feedback Capture | Beta users often report a symptom without enough context to reproduce it. The feedback panel records route, browser state, account mode, recent request ID, severity, and a plain-language description. |
How the AI Layer Stays Inside Trading Guardrails
AI is used as a controlled interface over deterministic account functions, not as a promise of better investment outcomes. This follows the practical distinction in FINRA’s AI applications report: language systems can support customer interaction, while regulated account actions still need governance, traceability, and supervision.
- Read-only questions can return balances, positions, open orders, and recent activity without creating an execution request.
- Action requests are converted into a typed command and checked against allowed symbols, positive quantity, supported order types, and account buying power.
- The preview clearly separates assistant-generated explanation from broker-returned facts.
- Every confirmed action receives a request ID so the UI, application logs, and broker response can be traced together.
The interface also avoids language that could be mistaken for a guarantee or individualized recommendation. The SEC, FINRA, and NASAA warn investors about misleading AI claims in their joint AI investment fraud alert, so the product labels model output as assistance and preserves user control.
Technical Stack and State Flow
| Layer | Implementation | Why it fits this workflow |
|---|---|---|
| Web interface | React dashboard | Keeps order tickets, portfolio views, chat, and feedback panels responsive without full-page reloads. |
| Application API | FastAPI services | Provides typed request validation and clear boundaries between chat interpretation, account reads, and execution commands. |
| Broker adapter | Alpaca REST and WebSocket clients | Supports submitted orders, cancellation, positions, paper mode, and event-driven updates through one adapter. |
| Data store | PostgreSQL | Persists users, sessions, normalized orders, assistant actions, confirmations, feedback, and audit events. |
| Short-lived state | Redis | Stores session locks, request deduplication keys, and temporary stream health state without making it the source of truth. |
| Operations | Structured logs and health checks | Makes a failed order, stale stream, or confusing chat response reproducible from one request ID. |
The execution state machine is intentionally explicit: `DRAFT
PREVIEWED
CONFIRMED
SUBMITTED
ACCEPTED/PARTIAL/FILLED/CANCELLED/REJECTED`. Browser refreshes do not invent status; the backend reloads the last persisted state and confirms it against the broker.
Validation Targets for the Five-Day Beta
The five-day test is designed around 30–60 minutes of daily use. Testers repeat real account workflows in Alpaca paper mode, which Alpaca documents as a real-time simulation environment, then record any mismatch between the requested action, displayed state, and broker result.
| Check | Acceptance target | Method |
|---|---|---|
| Order lifecycle accuracy | Every visible status matches the latest broker response. | Compare application events with the broker activity record after submit, partial fill, cancel, and rejection paths. |
| Refresh recovery | No duplicate order is created after reload or retry. | Repeat confirmation, disconnect the browser, reconnect, and verify request deduplication. |
| Portfolio consistency | Positions and buying power reconcile after each completed trade. | Compare dashboard values with account endpoints before and after fills. |
| AI action safety | No account-changing request bypasses preview and confirmation. | Test direct commands, ambiguous wording, symbol corrections, and cancellation requests. |
| Usability evidence | Each report contains steps, expected behavior, actual behavior, and impact. | Capture feedback through the in-product form and review recurring patterns daily. |
This test approach matters because online trading screens can make order entry look simpler than the underlying lifecycle. FINRA’s online trading guidance emphasizes that entering an order is not the same as receiving execution, which is why the product shows broker status rather than assuming success.
Use Cases
- A casual investor places paper-market and limit orders, then checks whether each request was accepted, filled, left open, or rejected.
- An active trader cancels a pending order from the activity panel and watches the status update without manually refreshing several screens.
- A tester asks the assistant for current exposure, reviews the account facts it cites, and converts a follow-up instruction into a confirmation-ready order.
- A product team receives reproducible bug reports containing the failed route, account mode, request ID, browser context, and exact steps.
Project Directory
portfolio-control-platform/
├── apps/
│ ├── web/
│ │ ├── src/
│ │ │ ├── components/
│ │ │ ├── features/
│ │ │ ├── pages/
│ │ │ ├── api.ts
│ │ │ └── main.tsx
│ │ └── package.json
│ └── api/
│ ├── routes/
│ ├── services/
│ ├── schemas/
│ └── main.py
├── packages/
│ ├── alpaca_adapter/
│ │ ├── broker.py
│ │ ├── orders.py
│ │ ├── positions.py
│ │ └── streams.py
│ ├── assistant/
│ │ ├── intent_router.py
│ │ ├── action_preview.py
│ │ └── guardrails.py
│ └── audit/
│ ├── events.py
│ └── request_ids.py
├── tests/
│ ├── test_order_lifecycle.py
│ ├── test_cancel_flow.py
│ ├── test_position_reconciliation.py
│ └── test_ai_confirmation.py
├── docker-compose.yml
├── .env.example
└── README.md
How to Manage Equity Positions Using Traadence's Stock Portfolio Management App
Download & Set Up the Project
Download, set up, and install Traadence's Stock Portfolio Management App to get the project running. If you hit any difficulty, contact us here.
Connect Paper Trading
Open Settings, enter Alpaca paper credentials, test the connection, and confirm that account status, buying power, positions, and open orders load.
Prepare an Account Action
Use the order ticket or chat panel, then set the symbol, side, quantity, order type, limit price when required, and time in force.
Confirm and Track
Select Confirm Order, then follow submission, fill, rejection, or cancellation events in Activity while the portfolio panel reconciles the resulting position.
For custom broker adapters, deployment controls, monitoring, or continued feature work, Traadence provides trading platform development around the same execution and account-state architecture.
Questions
What should a good stock portfolio app let me do?
A useful platform should show current positions, buying power, pending orders, and broker-confirmed status in one place. It should also let the user buy, sell, cancel open orders, and understand failures without hiding the underlying account response. When AI is present, any account-changing action should remain reviewable and confirmation-gated.
