Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
I think the author of that doc misses the point both from a Use Case standpoint and an OOP standpoint, but it also looks like an undergrad draft that hasn't been through a referee process so I'll be nice .
At the core all you need to do is two things:
- Get market data in a timely fashion.
- Be able to Buy and Sell in a timely fashion.
Everything else is a feature.
Can you help answer these questions from other members on NexusFi?
It is easier to criticize then create, so here is a stab at creating something. I'm really open to input in this. Call me silly, but this might be a good excercise whether you are trading from your bedroom or in a small prop firm. Here you go:
We here at SoftCo have a new client, TradeCo. TradeCo wants us to build them a "Trading System" as they are unhappy with either the features or the costs of what is available commercially.
An initial meeting wih TradeCo reveals that they trade exchange-listed products, and the stakeholders include;
The Traders, who actually buy and sell things. TradeCo actually has two kinds of traders, which they call Carbon and Silicon. Carbon is a discretionary trader, while Silicon prefers full automation.
The Trade Systems Developer, who tests ideas for the traders to use.
The Risk Guy, who watches the Traders to ensure they doesn't overexpose the firm to market risk.
The Accountant, who keeps track of the Traders performance through the years.
The Portfolio Manager, boss man who decides overall strategy at TradeCo... and pays our bills here at SoftCo.
We at SoftCo asked each of the stakeholders to consider their top three requirements and reply in this format: As a <type of user>, I want <some goal> so that <some reason>.
This is what we heard: (Carbon) As a Trader, I want: 1. so that .
2. so that .
3. so that . (Silicon) As a Trader, I want: 1. so that .
2. so that .
3. so that . As a Trade Systems Developer, I want: 1. so that .
2. so that .
3. so that . As a Risk Guy, I want: 1. so that .
2. so that .
3. so that . As an Accountant, I want: 1. so that .
2. so that .
3. so that . As a PM, I want: 1. so that .
2. so that .
3. so that .
Our goal at SoftCo to work out internally how the User Cases can drive our development, come up with tests to fit those User Cases, and code to the tests. Every four weeks we will meet the client and show him our progress with actual working software, even if it is featurre-limited.
SoftCo's team has varying levels of experience and is geographically dispersed. Team input will be gathered by a guy called The Architect who has been out of work since his Neo program went haywire in a spectacular failure that became the subject of three Hollywood films.
If anyone is having as quiet a weekend as I am and wants to add some thoughts, they are most welcome. Are there stakeholders I am missing? What would you consider to be The Three Things these stakeholders care about most?
Mods - Is this a proper continuation of this thread or should I start another?
(Carbon) As a Trader, I want:
1. Fast and accurate market data so that I can make trade decisions.
2. Fast and accurate executions so that I can compete in today's markets.
3. Superior charting and visualization so that I can make trade decisions.
(Silicon) As a Trader, I want: 1. Fast and accurate market data so that I can make trade decisions.
2. Fast and accurate executions so that I can compete in today's markets.
3. Open architecture so that I have a global view of the market and can act accordingly.
As a Trade Systems Developer, I want: 1. Realistic exchange simulator so that I can test systems effectively.
2. Access to historical data so that I can test systems effectively.
3. Open architecture so that I can use Matlab, R, F#, C# etc as appropriate.
As a Risk Guy, I want: 1. Real-time position information so that I can manage market risk.
2. "Get Flat" capability so that I can shut down a trader.
3. Flexible reporting so that I can monitor and manage my traders over time.
As an Accountant, I want: 1. Persistant execution data so that I can watch our PnL and have an audit trail.
2. Accurate trade data so that I can compare internal records with our brokers records regularly.
3. Internally consistant reporting so that changing brokers doesn't affect our record keeping.
As a PM, I want: 1. Access to multiple data sources so that I can chose the best for our needs.
2. Access to multiple brokerages so that I can chose the best for our needs.
3. Consistant reporting so that changing brokers doesn't affect our record keeping.
This is what we heard: (Carbon) As a Trader, I want:
1. It to work, every time, without freezing, without restarting, without unintelligible error codes.
2. It to be accurate, fast, intuitive, easy to use , minimal keystrokes required.
3. To customize the , look, feel, colors, timeframes, bar types, multiple time frames of each screen.
4. Ability to handle straddles across multiple accounts.
5. Handles multiple , simultaneous, data feeds, brokers, brokerage accounts. One click to send an order to multiple brokers/accounts simultaneously.
6. Drag and drop wizard to write custom indicators without having to learn Anything about programming.
7. Ability to open any standard indicator and click "Add Arrows" or "Add Back Ground Color Change" to the indicator.
8. Built in interpreter to read Meta4, Rlab, Esignal etc Indicators and re-write the code to my platform.
7. Color Gradient as a standard color selection. In all panels.
8. Ability to overlay ANY indicator or the price panel and not have to deal with scale issues.
9. Indicator to accurately show chop before you get in it.
(Silicon) As a Trader, I want:
1. BackTesting that (Expletive deleted) works.
2. Ultra sophisticated strategy features, ultra simple to implement and execute, fast, reliable,fast, did I mention fast?
3. Runs under Lenix, MacOS. Strategies can be written in C++.
4. Handles multiple , simultaneous, data feeds, brokers, brokerage accounts. One click to send an order to multiple brokers/accounts simultaneously.
5. One click to send opposing orders to multiple brokers/accounts simultaneously for hedging.
6. Avoids trading during chop, News, FOMC announcements.
As a Trade Systems Developer, I want:
1. OS independent
2. Hardware Platform independent
3. In depth documentation on the underlying code and ability to access it.
4. BackTesting that (Expletive deleted) works.
5. Built in multiyear tick, minute data with bid/ask in a continuous format.
6. Automatically high lights FOMC days, Holidays, Major News Days and has options to exclude them from back testing.
As a Risk Guy, I want:
1. Automatic determination of risk with alert sent remotely to Risk Auditor.
2. Internally audits all trades of all traders to determine when something appears improper and immediately sends a remote alert to Risk management.
3. Built in touch initiated Lie detector which randomly posts question to the trader about his activities and simultaneously monitors heart beat, pulse, breathing, sweating, nervousness, eye movement.
4. Sending an order requires fingerprint match and retina scan match
As an Accountant, I want:
1. In depth analysis of performance matrix comparing each trader against the history of all previous traders with builtin sliding scale to ALWAYS show that present traders are performing at a lower level than previous traders.
2. Automatic alert when a trader is within range of earning a bonus with option to force him to take vacation days until he is out of range of bonus.
3. Ability to charge back slippage to traders pay.
4. Companies performance based on bid price, traders performance based on ask price.
As a PM, I want:
1. Ability to pass responsibility for illegal trades to random trader
2. Ability to assign winning trades to personal portfolio.
3. Ability to assign losing trades to random customer portfolio
4. Ability to short positions while simultaneously pushing clients to take long positions in same instrument.
5. Ability to scan, identify and Gun for stops automatically.
6. Automatic position scaling to intermittenly roil market. Flash crashes a +.
Ok... so I've worked with some really bad people in my past.. so sue me...
I'm just a simple man trading a simple plan.
My daddy always said, "Every day above ground is a good day!"