Ideas for patenting/selling a trading strategy
If you have a great technical trading system that gets you winning trading 80-85% of the time in backtesting, the question should be why are you not trading it? To get a better idea of how good your trading system is you should work out your expectancy per trade. This will tell you how much you should make on average for every trade you take. Expectancy not only considers your win rate but also you win size to loss size ratio. For example if you are getting winning trades 80% of the time but your average win size is $100, and your 20% of losses average $500, then you will still be losing money. You should be aiming for an average win size of at least 2.5 to 3 times you average loss size. This will provide you a profitable trading system even if your win rate is 50%. If your trading system is really that good and provides a win size of at least 2.5 times your loss size then you should be actively trading it. Also, if you put your trading system out there in the public domain together with your trading results you will actually find that, quite opposite to what the consensus above is, your results from your trading plan should actually improve further. The more people acting on the outcome of a signal in the same direction the higher the probability that the movement in the desired direction will actually occur. If you are looking to make money from your trading ideas, no one will pay anything unless you have real results to back it up. So if you are so confident about your system you should start trading it with real money. Of course you should start off small and build it up over time as your results eventuate as per your simulations.
Hey thanks for your response.  The commodity is actually electricity, so definitely not able to store.  Would you mind giving me a short summary of your thought process or an example of how you compare liquid markets vs illiquid ones when looking at more traditional commodities?  If that is a bit much to ask, as I am sure it could get quite involved do you have any reading recommendations?    This little project has sparked an interest. Assuming that blocks, dark liquidity, and auctions aren't available, one of the biggest things that equity traders also have going for them is the availability of different execution venues, as well as the aforementioned ability to strategically time execution/child order placement based on the state of the order book at any given time.  A security with a NYSE primary listing (BAC or IBM for example) will be traded on several exchanges/ECNs - Nasdaq, NYSE Arca, the various Bats exchanges - and that in itself opens up a lot of opportunity to spread out an order.  As an alternative to simply going through several price levels on a single exchange, you can also route out multiple orders simultaneously to different exchanges to scoop up liquidity.  All of that being said, I think it should be noted that you really can't exclude the execution methods that you mentioned in your original question.  Any large institutional investor looking to trade in size will only get so far with trading on lit venues especially in the US equity marketplace.  Taking advantage of block liquidity/IOIs or floating part or all of an order in a dark pool is a good way to mask intentions and minimize market impact.  If you're part of a beta/index tracking strategy, you actually need to leverage auctions (index rebalances, like the MSCI, Russell, S&amp;P all have a ton of participants executing market on close orders to account for adds/deletes/reweights).    Overall, the buy side is becoming increasingly sophisticated when it comes to advanced execution, and it has been interesting to see how fintech companies, brokers, and exchanges have been feeding into the innovation. Can you say a little more about how you want to use your new skills? For instance, machine learning to help make picks? Then I think the answer would be python. But if you’re thinking you’d like to write high speed trading algorithms, that’d be something else. While theoretically it works it's not a realistic trade because of market efficiency. It's realistic for brokers to advertise trades like this so they can earn more customers and commission. These sorts of trades will be priced in to highly liquid big ticket names like KO and the vast majority of the market. The possibility exists with small names with less liquidity, less trading volume; however, the very execution of this trade will alter the behavior of impending traders thus minimizing any potential profits. I just finished a high frequency trading project. Individuals can do it, but you need a lot of capital. You can get a managed server in Times Square for $1500/month, giving you access to 90% of the US exchanges that matter, their data farms are within 3 milliseconds of distance (latency). You can also get more servers in the same building as the exchanges, if you know where to look ;) thats all I can divulge good luck The main thing you're missing is that while you bear all the costs of manipulating the market, you have no special ability to capture the profits yourself. You make money by buying low and selling high. But if you want to push the price up, you have to keep buying even though the price is getting high. So you are buying high. This gives everyone, including you, the opportunity to sell high and make money. But you will have no special ability to capture that -- others will see the price going up and will start selling within a tiny fraction of a second. You will have to keep buying all the shares they keep selling at the artificially inflated price. So as you keep trying to buy more and more to push the price up enough to make money, everyone else is selling their shares to you. You have to buy more and more shares at an inflated price as everyone else is selling while you are still buying. When you switch to selling, the price will drop instantly, since there's nobody to buy from you at the inflated price. The opportunity you created has already been taken -- by the very people you were trading with. Billions have been lost by people who thought this strategy would work. If you had a trading system, and by trading system I mean the criteria setup that you will take a trade on, then once a setup comes up at what price will you open the trade and at what price you will close the trade. As an example, if you want to buy once price breaks through resistance at $10.00 you might place your buy order at $10.05. So once you have a written trading system you could do backtesting on this system to get a percentage of win trades to loosing trades, your average win size to average lose size, then from this you could work out your expectancy for each trade that you follow your trading system on. Pretty sure the null hypothesis here is that trading equities at a high frequency is a zero sum game.   The is no gain that isn't someone else's loss.  No goods are created, no knowledge is gained, no value is produced.  Note, I didn't say value is destroyed either. Here's a start at a high level: I have a few friends who have made a killing on GLD, and write options to make money off of the investment without incurring the capital gains penalties for selling. That's a little out of my comfort zone though. "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." Assuming you were immersed in math with your CS degree, the book **'A Non-Random Walk Down Wall Street' by Andrew Lo** is a very interesting book about the random walk hypothesis and it's application to financial markets and how efficient markets might not necessarily imply complete randomness.    Lots of higher level concepts in the book but it's an interesting topic if you are trying to branch out into the quant world.  The book isn't very specific towards algorithmic trading but it's good for concept and ideas.  Especially for general finance, that will give you a good run down about markets and the way we tackle modern finance.    **A Random Walk Down Wall Street** (which the book above is named after) by **Burton Malkiel** is also supposed to be a good read and many have suggested reading it before the one I listed above, but there really isn't a need to do so.    For investing specifically, many mention **'The Intelligent Investor' by Benjamin Graham** who is the role model for the infamous Warren Buffet.  It's an older book and really dry and I think kind of out dated but mostly still relevant.  It's more specifically about individual trading rather than markets as a whole or general markets.  It sounds like you want to learn more about markets and finance rather than simply trading or buying stocks.  So I'd stick to the Andrew Lo book first.    ---  Also, since you might not know, it would be a good idea to understand the capital asset pricing model, free cash flow models, and maybe some dividend discount models, the last of which isn't so much relevant but good foundations for your finance knowledge.  They are models using various financial concepts (TVM is almost used in every case) and utilizing them in various ways to model certain concepts.  You'd most likely be immersed in many of these topics by reading a math-oriented Finance book.  Try to stay away from those penny stock trading books, I don't think I need to tell a math major (who is probably much smarter than I am) that you don't need to be engaging in penny stocks, but do your DD and come to a conclusion yourself if you'd like.  I'm not sure what career path you're trying to go down (personal trading, quant firm analyst, regular analyst, etc etc) but it sounds like you have the credentials to be doing quant trading.    ---  Check out www.quantopian.com.  It's a website with a python engine that has all the necessary libraries installed into the website which means you don't have to go through the trouble yourself (and yes, it is fucking trouble--you need a very outdated OS to run one of the libraries).  It has a lot of resources to get into algorithmic trading and you can begin coding immediately.  You'd need to learn a little bit of python to get into this but most of it will be using matplotlib, pandas, or some other library and its own personal syntax. Learning about alpha factors and the Pipeline API is also moderately difficult to get down but entirely possible within a short amount of dedicated time.     Also, if you want to get into algorithmic trading, check out Sentdex on youtube.  He's a python programmer who does a lot of videos on this very topic and has his own tool on quantopian called 'Sentiment Analyzer' (or something like that) which basically quantifies sentiment around any given security using web scrapers to scrape various news and media outlets.  Crazy cool stuff being developed over there and if you're good, you can even be partnered with investors at quantopian and share in profits.    You can also deploy your algorithms through the website onto various trading platforms such as Robinhood and another broker and run your algorithms yourself.    Lots of cool stuff being developed in the finance sector right now.  Modern corporate finance and investment knowledge is built on quite old theorems and insights so expect a lot of things to change in today's world.  ---  With a math degree, finance should be like algebra I back in the day.  You just gotta get familiar with all of the different rules and ideas and concepts.  There isn't that much difficult math until you begin getting into higher level finance and theory, which mostly deals with statistics anyways like covariance and regression and other statistic-related concepts.  Any other math is simple arithmetic. There's a whole industry devoted to this.  Professionals use Bloomberg terminals. High Frequency Traders have computers read news feeds for them. Amateurs use trading consoles (like Thinkorswim) to get headlines quickly on stocks. "You can certainly try to do this, but it's risky and very expensive. Consider a simplified example. You buy 1000 shares of ABC at $1.00 each, with the intention of selling them all when the price reaches $1.01. Rinse and repeat, right? You might think the example above will net you a tidy $10 profit. But you have to factor in trade commissions. Most brokerages are going to charge you per trade. Fidelity for example, want $4.95 per trade; that's for both the buying and the selling. So your 1000 shares actually cost you $1004.95, and then when you sell them for $1.01 each, they take their $4.95 fee again, leaving you with a measly $1.10 in profit. Meanwhile, your entire $1000 stake was at risk of never making ANY profit - you may have been unlucky enough to buy at the stock's peak price before a slow (or even fast) decline towards eventual bankruptcy.  The other problem with this is that you need a stock that is both stable and volatile at the same time. You need the volatility to ensure the price keeps swinging between your buy and sell thresholds, over and over again. You need stability to ensure it doesn't move well away from those thresholds altogether. If it doesn't have this weird stable-volatility thing, then you are shooting yourself in the foot by not holding the stock for longer: why sell for $1.01 if it goes up to $1.10 ten minutes later? Why buy for $1.00 when it keeps dropping to $0.95 ten minutes later? Your strategy means you are always taking the smallest possible profit, for the same amount of risk. Another method might be to only trade each stock once, and hope that you never pick a loser. Perhaps look for something that has been steadily climbing in price, buy, make your tiny profit, then move on to the next company. However you still have the risk of buying something at it's peak price and being in for an awfully long wait before you can cash out (if ever). And if all that wasn't enough to put you off, brokerages have special rules for ""frequent traders"" that just make it all the more complicated. Not worth the hassle IMO." "Here's an answer to a related question I once wrote. I'm reposting here.  I can, but it takes a significant amount of time.   I'll do a short version which unfortunatley might leave more holes than you like. Basically, traders don't want to barter because it is hard to find the person with precisely the goods you want who wants to trade for the goods you have. Thus the need for ""coupons"" that represent value in a marketplace. Then you need to decide who gets to create coupons. If too many can issue them, problems arise, and no one trusts the coupons will be good later. Eventually you want one large bank/nation/trader to be able to issue them so everyone has the same level of trust in them, and you don't have the economic inefficiencies of many coupon issuers.  Next, the number of coupons needs to be enough to facilitate trade. If the amount of trade increases a lot, and the number of coupons doesn't increase similarly they become worth more, and people start to hoard them. This causes deflation, which causes less investment, which causes less growth, which hurts everyone in the long run.   If there are too many coupons added, this causes inflation, which causes people to spent them quicker instead of holding them. For reasons I won't cover here slight, predictable inflation is much better than deflation, so remember inflation is slightly preferred. Note that inflation is often caused not by the number of coupons but by external price changes.  Now, for a modern economy to do well, somone has to watch the economy, measure it carefully, and add/subtract coupons into the system as needed. Coupons, like all money, have no real value (whatever that means), but only have value because the holder expects to be able to trade them *later* for goods and services. You cannot eat coupons, use them for shelter (usually!), or wear them, but you want to trade them for such needs. The same is true for paper money, gold, stones, or almost whatever money system one uses. Money in all these forms is merely an IOU tradable for future goods.  The Fed is tasked (among other things) with making sure there is precisely enough coupons in the economy to keep trade functioning as well as possible. This is very hard to do since there are external and internal shocks to an economy (think disaster, foreign govts shutting off resources, rapid changes in people's tastes, etc.).   Central banks such as the Fed need to be independent of political control, since empirical evidence has shown that politicians tend to add more money to the system than is needed, because the short term gains give them votes, but the long term consequences (rapid inflation, unemployment, lower economic growth) are bad for society. This is why the Fed is largely out of congressional control, and large amounts of empirical evidence across hundreds of years and dozens of cultures shows this to be good.  Note: another function of the Fed is to be a lender of last resort to help prevent bank panics that were widespread in the 18th and early 19th century, something that none of us now remember, but it was a real problem. I'll skip that part for now.  So now we're at the point where the Fed needs to add/subtract coupons from society. To do this part justice takes significant time to cover all the reasons why various rules are in place (banking reserve requirements, for example), and you cannot learn it from one pass of reading.  But I'll try. Instead of being like the majority of internet fools that rail against the system, try to learn the *why* of all this, and you'll be much wiser and understand that it is all a pretty good system.  One method they use is the interbank lending rate. Banks have a reserve requirement, which is the ratio of coupons they need to have on hand as a ratio compared to the total coupons depositors lent them. This is usually around 1:10. The amount deposited that they can lend goes to business loans, school loans, mortgage loans, etc., and helps economies grow. Now when a bank on a given day falls short due to too many withdrawals, other banks (or the Fed) offers an overnight loan to meet reserve requirements, and the Fed sets the interest rate, which in turn drives other interest rates in the system.  This does not change the money supply very much.  Secondly, the Fed sets the reserve requirement, which vastly can change the amount of money available to society. But they change this rate so rarely (all the historical data is on the St. Loius Fed site, among others) that it is not usually an issue. I'll explain below how this can drastically change the money supply though the money multiplier.  Thirdly, and this is the part the poster above seems upset about, they conduct open market operations. This is the primary means by which the Fed exercises control over the number of coupons in play. The government, like businesses, like individuals, often needs to borrow money, in theory to invest in wise causes like infrastructure or perhaps money making enterprises such as technology investmeny (and I know what they often use the money for causes many to complain). The government, like companies, offers the sale of various contracts such as bonds to investors, who want a place to park some accumulated coupons for safety, and they get a return plus some interest. So the government sells bonds on the open market to investors, banks, pensions, foreign governments, basically to whomever wishes to purchase them at the market rate, and the government, like many individuals and banks, uses these loans to perform day to day functioning and possible smooth out volatility in spending needs. By law the Fed cannot purchase directly from Treasury. Now, once on the market, these bonds are traded, packaged, resold, etc., since they have inherent value, and since those owning them want to buy/sell them, perhaps before maturity date. This ""liquidity"" (ability to sell your goods) is necessary - fewer would purchase an item if they could not sell it when they desire. Thus bonds are bought, sold, and traded, and their prices fluctuate based on what the market thinks they are worth, just like any good.  Now, the Fed can buy/sell these bonds on the *open market*, like anyone else. So when the Fed wishes to increase the money supply, they can buy bonds that are not ""spendable"" money and inject money into the system. Note they now hold a bond that had at the time of transaction the same value as the money they injected. Note investors freely bought these from Treasury, meaning the market thought at the time of purchase that this was a good invesement. It is *not* the government merely wishing more money into existance. It is market forces that require more money for trades and is selling goods from the marketplace of (presumably) equal value to the Fed. This increases liquidity, but takes valuable assets from circulation. When the Fed wishes to shrink the money supply, they sell these bonds back into circulation basically by offering better terms than Treasury. In fact, you can find graphs of the Fed operations and see how every December they inject money for more Christmas shpping (need more coupons for more trade) and every January they extract some.  So open market transactions, buying and selling goods at market prices in the marketplace along with other traders, is how the Fed injects and removes money from the money supply. This is the primary mechanism that the Fed uses to control the number of coupons in the economy.  Finally, a little about reserve requirements and the money multiplier, since it affects so much of the number of coupons in play. This also I must simplify drastically. Each bank needs to hold 1/10 of all deposits in cash. The rest can be lent, which lands in another bank, which again can be lent, etc... Thus each $1 deposited can result in loans totalling 9/10 + (9/10)^2 + (9/10)^3 +... = 9 more dollars. Many people claim that banks are printing money, which is nonsense, since each also has an equal debt to pay to the person they borrowed from. When all loans are paid back there is no net money gain.  However, this allows for each $1 the Fed injects by buying bonds for there to be up to $9 in the economy, *if banks all loan to the fullest extent*. Banks tend to want to loan since loaned money makes them profit. Banks used to loan too much and runs on the banks caused significant problems, which is why laws were made to require *all* banks to have the same reserve requirement.  Now, when banks get scared and stop loaning, this 9 fold multiplier dries up, and the Fed has much less inpact on being able to target the proper number of coupons to keep the economy smooth. During the recent crash when banks stopped loaning, as each dollar was paid back on debts, there was significant shrinkage of available money for transactions, and this kills the economy. This is the ""liquidity crisis"".   Hope this helps. As I said, this is vastly simplified and I cannot go into all the reasons and historical items needed to understand it fully. It is a vastly complex (and necessarily so) and takes significant study to grasp the genius of it. It's similar to not being able to understand nuances of particle physics in one go, but as you study and work at it you see *why* things go as they do, and you learn all the failed methods (the gold standard is one example) that were thrown out for many good reasons.  Cheers." "You need to negotiate with your broker to allow you to do more exotic order types.  One in particular I recommend is a ""hidden"" aka iceberg order.  You enter two numbers.  The first is the number of shares for your entire order, the second is the amount that will be displayed in the book (this is the tip of the iceberg, the remaining shares are hidden below the surface). The maker/taker rule applies as follows: The amount displayed will receive the rebate for providing liquidity.  The amount hidden will be charged the fee for taking liquidity. Example: You want to sell 10,000 shares total.  You enter a hidden order for 10,000 shares with 1,000 displayed.  On the level 2 screen traders will see 1,000 shares, and those shares will stay displayed there until the entire order is filled.  You receive a rebate for 1,000 shares, you pay the brokerage fee for 9,000 shares. Also, like one of the previous posters mentioned, only trade high liquidity stocks.  Large market cap companies with high volume.  This is why day traders love Tesla, Amazon, Netflix, etc. Large market cap, high volume, and high volatility.  Easy to catch $10+ moves in price. Hope this helps Happy trading"