Market Making vs Market Taking (Quotes vs Orders)
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. This is too lengthy for a comment. The following quoted passages are excerpted from this Money SE post. Before electronic trading and HFTs specifically, trading was thin and   onerous. No. The NYSE and AMEX were deep, liquid and transparent for nearly 75 years prior to high frequency trading (HFT), in 2000 or so. The same is true for NASDAQ, but not for as many years, as NASDAQ is newer, being an electronic market. The point is that it existed, and thrived, prior to HFT. The NASDAQ can be active and functional, WITH or WITHOUT high frequency trading.  This is not historically true, nor is it true now:  Without a bid or ask at any given time, there could be no trade... Market makers, also known as specialists, were responsible for hitting the bid and taking the offer on whatever security they covered. They had a responsibility assigned to them by the exchange. Yes, it was lucrative! There was risk, and they were rewarded for bearing it. There is a trade-off though. Specialists provided greater stability on a systemic level, although other market participants paid for that cost. Prior to HFT, traders who were not market makers were often bounded by, boxed in, by the toll paid to market makers. Market makers had different, much higher capital and solvency requirements than other traders. Most specialists/market makers had seats, or shared a seat on the NYSE or AMEX. Remember that market makers/specialists are specific to stock markets, whereas HFT is not. If this is true, then we are in trouble: HFTs have supplanted the traditional market maker Why? Because trading volume is LOWER now than it was in the 1990's! EDIT In the comments, I noticed that OP was asking about the difference between  I suggest reading this very accurate, well-written answer to a related question, The spread goes to the market maker, is the market maker the exchange? That explains the difference between
"Most of the time* you're selling to other investors, not back to the company. The stock market is a collection of bid (buy offers) and asks (sell offers). When you sell your stock as a retail investor at the ""market"" price you're essentially just meeting whatever standing bid offers are on the market.  For very liquid stocks (e.g. Apple), you can pretty much always get the displayed price because so many stocks are being traded. However during periods of very high volatility or for low-volume stocks, the quoted price may not be indicative of what you actually pay.  As an example, let's say you have 5 stocks you're trying to sell and the bid-side order book is 2 stocks for $105, 2 for $100, and 5 for $95. In this scenario the quoted price will be $105 (the best bid price), but if you accept market price you'll settle 2 for 105, 2 for 100, and 1 for 95. After your sell order goes through, the new quoted price will be $95. For high volume stocks, there will usually be so many orders near the midpoint price ($105, in this case) that you won't see any price slippage for small orders.  You can also post limit orders, which are essentially open orders waiting to be filled like in the above example. They ensure you get the price you want, but you have no way to guarantee they'll be filled or not.  Edit: as a cool example, check out the bitcoin GDAX on coinbase for a live example of what the order book looks like for stocks. You'll see that the price of bitcoin will drift towards whichever direction has the less dense order book (e.g. price drifts upwards when there are far more bids than asks.)" "People must simply be willing to match your orders if they know about it. You can sniff orders out if you can see them or predict them. For instance, you can look at an order book and decide who you want to get filled at, especially if you are looking at different quotes from different exchanges. So you can get a ""better"" fill just by looking at what someone is willing to pay to enter/exit their order as well as what exchange they placed their order through, and send an order to that specific exchange to match them. You (or a program) can just watch the level 2's and place an order as soon as you see one you like. The orders on the level2's do not reveal ALL interested market participants. Also many brokers have difficulty updating options quotes. Finally, options & market volatility can inflate or decrease the price of options by large percentages very quickly." "Say we have stock XYZ that costs $50 this second. It doesn't cost XYZ this second. The market price only reflects the last price at which the security traded. It doesn't mean that if you'll get that price when you place an order. The price you get if/when your order is filled is determined by the bid/ask spreads. Why would people sell below the current price, and not within the range of the bid/ask? Someone may be willing to sell at an ask price of $47 simply because that's the best price they think they can sell the security for. Keep in mind that the ""someone"" may be a computer that determined that $47 is a reasonable ask price. Remember that bid/ask spreads aren't fixed, and there can be multiple bid/ask prices in a market at any given time. Your buy order was filled because at the time, someone else in the market was willing to sell you the security for the same price as your bid price. Your respective buy/sell orders were matched based on their price (and volume, conditional orders, etc). These questions may be helpful to you as well: Can someone explain a stock's ""bid"" vs. ""ask"" price relative to ""current"" price? Bids and asks in case of market order Can a trade happen ""in between"" the bid and ask price? Also, you say you're a day trader. If that's so, I strongly recommend getting a better grasp on the basics of market mechanics before committing any more capital. Trading without understanding how markets work at the most fundamental levels is a recipe for disaster." "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." There is no one answer to this question, but there are some generalities. Most exchanges make a distinction between the passive and the aggressive sides of a trade.  The passive participant is the order that was resting on the market at the time of the trade.  It is an order that based on its price was not executable at the time, and therefore goes into the order book.  For example, I'm willing to sell 100 shares of a stock at $9.98 but nobody wants to buy that right now, so it remains as an open order on the exchange. Then somebody comes along and is willing to meet my price (I am glossing over lots of details here).  So they aggressively take out my order by either posting a market-buy, or specifically that they want to buy 100 shares at either $9.98, or at some higher price. Most exchanges will actually give me, as the passive (i.e. liquidity making) investor a small rebate, while the other person is charged a few fractions of a cent.  Google found NYSEArca details, and most other exchanges make their fees public as well.  As of this writing the generic price charged/credited: But they provide volume discounts, and many of the larger deals do fall into another tier of volume, which provides a different price structure. "Note that the series you are showing is the historical spot index (what you would pay to be long the index today), not the history of the futures quotes. It's like looking at the current price of a stock or commodity (like oil) versus the futures price.  The prompt futures quote will be different that the spot quote. If you graphed the history of the prompt future you might notice the discontinuity more. How do you determine when to roll from one contract to the other? Many data providers will give you a time series for the ""prompt"" contract history, which will automatically roll to the next expiring contract for you.  Some even provide 2nd prompt, etc. time series.  If that is not available, you'd have to query multiple futures contracts and interleave them based on the expiry rules, which should be publicly available. Also is there not a price difference from the contract which is expiring and the one that is being rolled forward to? Yes, since the time to delivery is extended by ~30 days when you roll to the next contract. but yet there are no sudden price discontinuities in the charts. Well, there are, but it could be indistinguishable from the normal volatility of the time series." In my original question, I  was wondering if there was a mathematical convention to help in deciding on whether an equity offering OR debt offering would be a better choice. I should have clarified better in the question, I used Vs. which may have made it unclear. It's a covered call.  When I want to create a covered call position, I don't need to wait before the stock transaction settles. I enter it as one trade, and they settle at different times.