Algorithmic trading in linux using python
"A couple options that I know of: Interactive Brokers offers a ""paper trading"" mode to its account holders that allows you to start with a pretend stack of money and place simulated trades to test trading ideas. They also provide an API that allows you to interface with their platform programmatically for retrieving quotes, placing orders, and the such. As you noted, however, it's not free; you must hold a funded brokerage account in order to qualify for access to their platform. In order to maintain an account, there are minimums for required equity and monthly activity (measured in dollars that you spend on commissions), so you won't get access to their platform without having a decent amount of skin in the game. IB's native API is Java-based; IbPy is an unofficial wrapper that makes the interface available in Python. I've not used IB at all myself, but I've heard good things about their API and its accessibility via IbPy. Edit: IB now supports Python natively via their published API, so using IbPy is no longer needed, unless you wish to use Python 2.x. The officially supported API is based on Python 3. TD Ameritrade also offers an API that is usable by its brokerage clients. They do not offer any such ""paper trading"" mode, so you would need to ""execute"" transactions based on quotes at the corresponding trade times and then keep track of your simulated account history yourself. The API supports quote retrieval, price history, and trade execution, among other functions. TDA might be more attractive than IB if you're looking for a low-cost link into market data, as I believe their minimum-equity levels are lower. To get access, you'll need to sign up for an API developer account, which I believe requires an NDA. I don't believe there is an official Python implementation of the API, but if you're a capable Python writer, you shouldn't have trouble hooking up to the published interfaces. Some caveats: as when doing any strategy backtesting, you'll want to be sure to be pessimistic when doing so, so your optimism doesn't make your trades look more successful than they would be in the real world. At a minimum, you'll want to ensure that your simulations transact at the posted bid/ask prices, not necessarily the last trade's price, as well as any commissions and fees associated with the trade. A more robust scheme would also take into account the depth of the order book (also known as level 2 quotes), which can cause additional slippage in the prices at which you buy/sell your security. An even more robust scheme would take into account the potential latency of trade execution, looking at all prices over some time period that covers the maximum expected latency and simulating the trade at the worst-possible price." "You can have a look at betabrokers. It's an simulated stock trading platform which is entirely email-based. You start with 10 000$ and you make transactions with commands in the subject line of the email (e.g. ""buy 250$ AAPL"" or ""cover 20 shares of AAPL""). It should be straightforward to add an email interface to your python script." I don't think any open source trading project is going to offer trial or demo accounts. In fact, I'm not clear on what you mean by this. Are you looking for some example data sets so you can see how your algorithm would perform historically? If you contact whatever specific brokers that you'd like to interface with, they can provide things like connection tests, etc., but no one is going to let you do live trades on a trial or demo basis. For more information about setting this sort of thing up at home, here's a good link: < http://www.stat.cmu.edu/~abrock/algotrading/index.html >. It's not Python specific, but should give you a good idea of what to do. In Japan, there's a competition well-lasting since 2004 or so where you can run your own software agent in a virtual market. Market data is updated from the real world everyday. And if your agent proves good, the organizer puts it into the real market. The language is unfortunately limited to Java only to my knowledge. OS is not limited since your agent is supposed to run on the organizer's environment. English might not be well supported on their web site...
This. My Economics is a B.S, which is why I was required to take a bunch of statistic and econometrics courses. It makes it much more quantitative and you should even walk out with knowledge of a few statistical softwares and maybe rudimentary knowledge of a couple programming languages (most likely R, Stata, SQL, maaaaybe Python).       You get out what you put in, of course. I used R and Stata, I took it upon myself to do some stock analysis with Python. You should be able to leverage it for a job. At my school, it was even in the social sciences department so the pre-reqs were the same, super easy to throw on a second major within that college. My second major was poli sci, you should consider adding a second one, too. Quote driven markets are the predecessors to the modern securities market. Before electronic trading and HFTs specifically, trading was thin and onerous.  Today, the average investor can open up a web page, type in a security, and buy at the narrowest spread permitted by regulators with anyone else who wants to take the other side. Before the lines between market maker and speculator became blurred to indistinction, a market maker was one who was contractually obligated to an exchange to provide a bid and ask for a given security on said exchange even though at heart a market maker is still simply a trader despite the obligation.  A market maker would simultaneously buy a large amount of securities privately and short the same amount to have no directional bias, exposure to the direction of the security, and commence to making the market.  The market maker would estimate its cost basis for the security based upon those initial trades and provide a bid and ask appropriate for the given level of volume.  If volumes were high, the spread would be low and vice versa. Market makers who survived crashes and spikes would forgo the potential profit in always providing a steady price and spread, ie increased volume otherwise known as revenue, to maintain no directional bias.  In other words, if there were suddenly many buyers and no sellers, hitting the market maker's ask, the MM would raise the ask rapidly in proportion to the increased exposure while leaving the bid somewhere below the cost basis.  Eventually, a seller would arise and hit the MM's bid, bringing the market maker's inventory back into balance, and narrowing the spread that particular MM could provide since a responsible MM's ask could rise very high very quickly if a lack of its volume relative to its inventory made inventory too costly.  This was temporarily extremely costly to the trader if there were few market makers on the security the trader was trading or already exposed to. Market makers prefer to profit from the spread, bidding below some predetermined price, based upon the cost basis of the market maker's inventory, while asking above that same predetermined cost basis.  Traders profit from taking exposure to a security's direction or lack thereof in the case of some options traders. Because of electronic trading, liquidity rebates offered by exchanges not only to contractually obligated official market makers but also to any trader who posts a limit order that another trader hits, and algorithms that become better by the day, market making HFTs have supplanted the traditional market maker, and there are many HFTs where there previously were few official market makers.  This speed and diversification of risk across many many algorithmically market making HFTs have kept spreads to the minimum on large equities and have reduced the same for the smallest equities on major exchanges. Orders and quotes are essentially identical.  Both are double sided auction markets with impermenant bids and asks.  The difference lies in that non-market makers, specialists, etc. orders are not shown to the rest of the market, providing an informational advantage to MMs and an informational disadvantage to the trader.  Before electronic trading, this construct was of no consequence since trader orders were infrequent.  With the prevalence of HFTs, the informational disadvantage has become more costly, so order driven markets now prevail with much lower spreads and accelerated volumes even though market share for the major exchanges has dropped rapidly and hyperaccelerated number of trades even though the size of individual trades have fallen. The worst aspect of the quote driven market was that traders could not directly trade with each other, so all trades had to go between a market maker, specialist, etc.  While this may seem to have increased cost to a trader who could only trade with another trader by being arbitraged by a MM et al, paying more than what another trader was willing to sell, these costs were dwarfed by the potential absence of those market makers.  Without a bid or ask at any given time, there could be no trade, so the costs were momentarily infinite. In essence, a quote driven market protects market makers from the competition of traders.  While necessary in the days where paper receipts were carted from brokerage to brokerage, and the trader did not dedicate itself to round the clock trading, it has no place in a computerized market.  It is more costly to the trader to use such a market, explaining quote driven markets' rapid exit. "Algorithmic trading doesn't necessarily require live feeds. It is a very generic term describing trading based on the decisions made by a machine and not a person. One very prominent type of algo-trading is ""high frequency trading"". For HFT to be effective, not only do you need live feeds (which are provided by the exchanges electronically), you need them before others get them. That's why HFT traders put their machines as close as possible (physically) to the exchange data centers, sometimes even renting racks at the same datacenters from the exchanges themselves." MoneyDance Is the way to go.  I've been using it for years and it works well.  It keeps getting better, and best of all, it's completely cross platform!  Mac, Windows and linux! "There are many ways to trade. Rules based trading is practiced by professionals. You can indeed create a rule set to make buy and sell decisions based on the price action of your chosen security. I will direct you to a good website to further your study: I have found that systemtradersuccess.com is a well written blog, informative and not just a big sales pitch. You will see how to develop and evaluate trading systems. If you decide to venture down this path, a good book to read is Charles Wright's ""Trading As A Business."" It will get a little technical, as it discusses how to develop trading systems using the Tradestation trading platform, which is a very powerful tool for advanced traders and comes with a significant monthly usage fee (~$99/mo). But you don't have to have tradestation to understand these concepts and with an intermediate level of spreadsheet skills, you can run your own backtests.  Here is a trading system example, Larry Connors' ""2 period RSI system"", see how it is evaluated: http://systemtradersuccess.com/connors-2-period-rsi-update-2014/, and this video teaches a bit more about this particular trading system: https://www.youtube.com/watch?v=i_h9P8dqN4Y IMPORTANT: This is not a recommendation to use this or any specific trading system, nor is it a suggestion that using these tools or websites is a path to guaranteed profits. Trading is a very risky endeavor. You can easily lose huge sums of money. Good luck!" "I've just recently launched an open source wealth management platform - wealthbot.io ...  ""Webo"" is mostly targeted at RIA's to help the manage multiple portfolios, etc. Take a look at the demo at demo.wealthbot.io, you'll also find links to github, etc. there. It's a rather involved project, but if you are looking for use cases of rebalancing, portfolio accounting, custodian integration, tax loss harvesting, and many other features available at some of the popular robo-advisors, you might find it interesting." Have you looked at OptionsHouse?  They charge $2.95 per trade and are one of the lowest when it comes to fees.  Bare bones interface, but fast execution. Just got back from the office, so I can better answer it now. The trader uses the Metatrader platform, which is programmed with a language based off C++. I'm working with him to update some algos now. His strategies running on ToS are more or less proof-of-concept that he streams right now as he sources investors.