What is a Market Maker?

A market maker quotes both buy and a sell prices in order to profit from the spread between bids and offers and also from the spread between a price quoted and a reference or theoretical price.

The bid-offer spread is the difference between the highest buy prices and the lowest sell prices. For example, a market maker might quote a bid price of $1 and a offer price of $2. This means customers can either sell at $1 or buy at $2. The goal of a typical market maker is to post prices that will attract interest on both sides of the market (prices that attract buyers and sellers) and therefore profit from the difference between those who buy and those who sell.

A market maker can also price their market based on a benchmark or reference price. This price could be a liquid benchmark or a theoretical price.  For example, if a merchant can buy goods for $1 from a supplier, while transportation, storage, and other costs come to 20 cents, they might be willing to sell to local customers for $1.50, which would guarantee the merchant a profit of 30 cents. If the supplier’s price changes to $1.30, then the merchant might choose to adjust their retail price to $1.80 to ensure the same profit margin, even if the merchant doesn’t buy any more goods from the supplier in the meantime.

A bookie quoting betting odds is also a type of market maker. Even without making trades with other bookies, a book maker can use the odds competitors are posting to set their own prices. If a large Las Vegas casino is quoting the Yankees to win the World Series at decimal odds of 20, the local bookie might offer odds of 15. Although this wouldn’t guarantee a profit for the bookie, it would provide a betting market for local customers. If the local bookie can post odds for a variety of baseball teams, they might be able to attract bets on many teams teams and therefore get closer to making a constant spread on all customer bets.

Posting a Fixed Odds Bet

The 2018 PGA Tour Championship is being held next week and I’m pretty excited to watch who wins the tournament, but also who wins the FedEx Cup $10 million bonus check! In this post I’ll describe how I created my own odds for this tournament and posted them on CoinRoster just like a bookie.

Since the winner of the Tour Championship is a widely followed bet, its a bit easier for me to determine fair odds. I can use an odds website such as Odds Checker to find out what the odds might be and I can also use my favorite sportsbook and base my own odds on theirs.

After reviewing the odds posted elsewhere, I create a quick spreadsheet to do some math. I make a list of 18 players with their associated decimal odds, and then in another column I convert their decimal odds into percentage odds. Now I can sum the percentage odds to see the total implied odds in percentage terms. It turns out, the 18 players I listed have a combined 94%  implied chance. CoinRoster only allows me to post a maximum of 20 outcomes, so since there are 30 players competing in the tournament, I must also post odds for “Any Other Player” which will payoff if any other player not on my list of players wins the tournament.

To calculate what odds I should apply to the Any Other Player option, I can simply take the difference between 100% and the sum of the percentage odds for all the players I’m posting odds for. This comes out to 6% (100 – 94).  The decimal version of 6% odds is 16.66 (1/0.06). But if I post odds of 16.66 for the Any Other Player option, it will leave no potential profit for me, so I decide to offer odds of 10 for Any Other Player. These odds imply a 10% chance that Any Other Player wins the tournament.

I add Any Other Player at 10 on my spreadsheet of odds. Now I will sum all my odds (all players plus Any Other Player option) to see a total of 104%. This means that with the odds I’m posting, I’m building in a theoretical 4% spread for myself.

Click Here to download the spreadsheet I made displaying my odds calculations

Posting the odds as described above will not guarantee a 4% profit for me though. 4% guaranteed will only happen if the money bet on each outcome I’m listing is made in exact proportion to the odds being offered. For example, to guarantee the 4% implied spread, I would need bettors to place 10% of their money on the 10 to 1 odds, and 5% of their money bet on the 20 to 1 odds. Any other configuration of money bet will result in me taking the risk that the outcome with the most money bet becomes the winning outcome, in which case I will may loose money overall. This is the principal risk to the market maker. So the goal of a good odds maker should be to post odds that get action on both sides (or all sides) of a bet, so the risk is distributed in a way related to the underlying chances, thereby spreading the risk and getting close to the theoretical 4% edge.

Now that I have a list of my odds in excel, I’m now going to post those odds on CoinRoster and decide how much risk I’d like to take.

The first thing I do on CoinRoster is log into my account and click on the Create Contest link from the main menu. This brings me to the create contest page where I first need to choose a contest type. I’m choosing “MISC” as my contest type since this is the free form contest where anything can be posted. I type in the title and description of my bet, and then choose a registration deadline of 7am on the Thursday the tournament begins and a settlement deadline of Monday night following the tournament close. The registration deadline is the time after which no more bets are allowed, and the settlement deadline is the time when this bet will be settled and winning bets will be paid off. I choose Monday night for a settlement deadline in order to compensate for weather delays that would result in a Monday finish.



After filling out the details of the create contest form, I’m going check the “fixed odds” box and then paste each player name and their associated odds from my spreadsheet into the create contest form. Then I choose the maximum amount I’d like to risk, which is 0.1 bitcoins, and the minimum wager amount which is 1 satoshi. From the “settlement type” option, I’m going to choose crowd settled and I’m going to make this a public contest.

Once I click the Create Contest button, the contest will be created and the amount I’m risking (0.1 bitcoins) will be taken from my account. If it turns out that I don’t get enough action to require my full 0.1 bitcoins, the difference will be returned to me at the settlement deadline, but in the meantime the entire risk is being held by CoinRoster.



The bet is also not yet live, once I click the create contest button, a message is displayed telling me that the contest needs to be approved by an admin. Once this is done, my contest is live and can be viewed by any user and bets can be placed. Click here to view this contest.

A few things to note about the odds I have posted. At the time of writing, it seems sports books are offering 15 to 1 odds that Tiger Woods will win this tournament. However, I would love to see Tiger win again, so I’m offering 25 to 1 odds on Tiger, better than any other sports book, to encourage users to bet on him. Kind of a little hedge bet for myself. Feel free to take advantage of these great Tiger Odds.

Also, CoinRoster offers free bitcoins to new users, check their homepage before signing up to take advantage of their latest offer. Using their freeplay is a great way to play for free and hopefully win some bitcoins!

Crypto Interest Rates Soar

A big spike in the rate of interest being paid to Ethereum and Litecoin lenders is being shown on Bitfinex this morning. At the time of writing, rates have jumped up to 0.05% per day on ETH and 0.0443% per day on LTC. This translates into simple annual rates of 18.25% for ETH and 16% for LTC. BTC lending rates on Bitfinex remain lower, but have also moved up over the past several days, now reaching 0.0174% per day (6.35% annualized).

Crypto market watchers should notice that investors lending out their crypto balances as margin on exchanges are demanding higher rates as the price of crypto currencies has been declining. This makes sense since I’d want a higher rate to lend my crypto as I expect the value of that crypto to be lower in the future since I want to be compensated for the risk of declining crypto prices.

On Poloniex, the rate for BTC loans remains near 0.0061% per day, but the interest rate for DOGE (which has been the best performing major crypto currency over the past month) is commanding interest rates of 0.60% per day, which translates into over 250% annualized.

These wild rates might not last very long, but its informative to see how markets are reacting to the expectation of lower crypto currency prices. Borrowers (speculators) seem willing to pay higher rates for cryptos they expect to decline in value, and lenders seem willing to facilitate these loans as long as rates rise to compensate.

For more information on crypto margin lending, see my previous post.



Comparing CoinRoster Prices to Market Odds

This post is about trying to beat the odds on CoinRoster daily fantasy golf, a game where the fantasy points are determined based on score to par. The worst score to par becomes zero and each fantasy point is awarded based on the difference from the worst score. For example, if the last placed player has a real world score to par of +4 and the first placed player has a score to par of -10, then the first placed player will have 14 fantasy points. All other players are assigned a relative point value.  Six players are drafted to each roster, so the total score of each roster is the sum of the individual scores of all players on each roster.

My goal is to find some drafting strategies that take advantage of the difference between the price of golfers available to draft on CoinRoster versus the odds of betting on golfers to win the tournament.

The price of each player in the CoinRoster draft is relative to their world golf ranking. But I wondered how to determine whether this is a good price or a bad one? And which factors should I consider while attempting to make this determination?

I have compared the prices of the players available to draft with their odds of winning the tournament. I know from previous research that the odds of each player is related to their expected relative score to par.

I made a list of all players available to draft using excel with their associated price on CoinRoster, then I calculated the percentage chance implied by the prices of each players in the draft by taking their drafting price divided by the sum of all player prices. So if a player costs $3000 to draft and the sum of all players prices is $80,000, then this implies 3.75% ($3,000 / $80,000).

By finding this drafting price ratio, it gives me an “implied” percentage chance of each player having the most fantasy points based on CoinRoster’s drafting price. Then for curiosity’s sake, I converted those implied percentage numbers into decimal odds. The next thing I did was add a column of each player’s odds of winning the tournament and then I converted that into a percentage number also. Now I can compare apples to apples using their percentage chances.

With this information, I can eyeball and compare the odds numbers and the percentage numbers (which are the same value, but just displayed in different formats). I can also rank and sort the data in various ways using excel, so I subtracted the implied market percentage chance from the implied price percentage chance to uncover the difference between the two numbers.

By subtracting the two prices (the percentage chance implied by drafting price with the percentage chance implied in the player’s betting odds) I can notice if the price for a player available to draft is relatively lower on CoinRoster than is implied by their market odds. If the player is cheap and represents good value to draft their price on CoinRoster will be lower than implied by their betting odds. This means the player is cheap to draft, but if a player’s market odds are lower than their relative drafting price on CoinRoster, the player is expensive.

For the 2018 BMW Championship, Dustin Johnson has the best value for this tournament according to this formula. His odds were 9.36 (which implies a more than 10% chance he will win the tournament, and thereby have the best score to par) but his CoinRoster price was relatively cheap (even though he is the second highest priced player). Justin Rose, Rory McIlroy, and Hideki Matsuyama are also some of the most relatively best priced players.

Tiger Woods also has the third highest relative value to draft. This makes sense since Tiger’s world golf ranking (which the CoinRoster drafting price is based on) is relatively low compared to his chances of winning the tournament. So intuitively, this affirms my belief that I’m on the right track.

Some of the most expensive players on CoinRoster are Tyrrell Hatton, Alex Noren, Brian Harman, Kevin Kisner, and Peter Uihlein.

Crypto-Games.net Bankroll Investment Update

Crypto-Games.net in a cryptocurrency casino where users can invest in the bankroll of the casino. Its a fun investment for crypto enthusiasts who want to “be the house”. I’ve been investing in the Crypto-Games.net bankroll for a few years, and below is a summary of my current holdings with associated rates of return. Investing in casino bankrolls is a high risk potentially high reward proposition, so take the numbers below with a “grain of salt”. At some periods in the past I had been earning more than 40% annualized, but now as crypto markets have matured (and some would say the bubble has burst) rates of returns from bankroll investing has decreased.

Ethereum, 33.60%

Monero 7.95%

Convert option price to odds

This post is about converting the price of an option to an odds format. The same methods also apply if you want to convert stock option prices to an odds format, or any other option price into any odds format including decimal odds, fractional odds, and moneyline (american) odds. A fun application is also found below (including some free bitcoins for you).

For this example, I’ll use a bitcoin option price from Deribit and convert that option price into decimal odds.

The first thing is to choose an option on Deribit to use for our example. At the time of writing, I’m picking the September 28th, 2018, $8500 calls currently trading at 0.008 ($51.25) with an implied volatility of 95% and the underlying trading trading at $6243. This means we will use an out of the money call with 18 days and 9 hours till expiration. Its also worth noting that the contracts on Deribit are european cash settled options.

Now that I’ve chosen an option to use, cnxt I’ll is convert the price of my chosen option into a binary price format. Binary options are “all or none” prices quoted between 0 and 1. Binary options are associated with many over the counter unregulated “gambling” type sites (that are usually a rip off) but its best to forget about binary trading sites and think about binary option prices for what they are; just another price format.

Converting the price of an option on Deribit to a binary number means plugging in the option’s details into a Black-Scholes model, I do this on excel, and here is a link to my spreadsheet.

I plug my chosen option’s time till expiration expressed as a fraction of the year. This changes 18 days and 9 hours to 19.375 days / 365 days = 0.0530821917808219 years. My risk free rate is 1.35%. The implied volatility of this option is 95% and there are no dividends/interest/cashflow associated with it. The underlying price is $6243 and the strike price is $8500.

Drumroll please… after plugging in the variables, the excel spreadsheet calculates the price of this binary call option as 0.064 or 6.24/100. This tells us a few things. We know this call option is out of the money, and we know the implied volatility of this option is high, so it makes sense that this option will have a low chance of being called. So its price of 0.054 makes sense. Based on the option’s binary price, we can infer that this option has maybe a 6.4% chance of being called in the money.

The toughest part of this method is calculating the binary option price (which we just did), the easy part is converting this binary price into an odds format we prefer to use. I like using decimal odds, so next I divide 1 by the binary option price. So a binary option of 0.064 = 1/0.064 = 15.46 decimal odds. A binary option of 0.064 can also be expressed in decimal odds format as 15.46.

If we were to post a betting market on whether the price of bitcoin will be higher than $8500 in 18 days and 9 hours, we might offer decimal odds of 15. For every dollar wagered on whether the price of bitcoin will be higher than $8500 in 19 days 9 hours, we might be willing to pay 15 back if so.

For fun, I created a fixed odds bet at CoinRoster expressing the option quoted above in decimal odds for readers of this blog to bet on. Click here to view these odds at CoinRoster. You can also get 0.00007 bitcoins for free when you sign-up for CoinRoster using promo code parimutuelfreeplay1. Good luck!

Toronto Mayor Election Odds 2018

What are the odds of John Tory or Jennifer Keesmaat winning the Toronto mayoral election in 2018? I have posted a pool on CoinRoster where users can bet on who will win, and observers can view the chances for each candidate.

Here is a link to the Toronto Mayor betting pool

The Toronto municipal elections will be held on October 22nd with polls closing at 8pm. At the time of writing based on the few opinion polls that have been conducted, it seems like John Tory is the favourite. I’ve put money in the pool so that the initial odds have Jennifer Keesmaat as the 3/1 underdog. CoinRoster is a bitcoin based site, but if you don’t have any bitcoin, you can also sign up with a promo and get a dollar worth of bitcoin to use for free.

Opening a FanDuel Account

Today I’m going to open a FanDuel account. My plan is to make a deposit and play PGA and NHL fantasy.

The first step to to enter your e-mail address, username, and password. Once I enter these credentials, FanDuel takes me to a page where I’m asked to choose my favorite sport. In my case, this is golf (and it seems like FanDuel assumes I only have 1 favorite sport).

The first thing I’m noticing right away is its been a few minutes after opening my account and FanDuel seems intent on prompting me to enter a free contest (which I’m not interested in, I’d rather just play PGA for stakes). So I quickly choose a seemingly random lineup of players and enter the free signup contest.

After hastily entering a free contest, I’m now ready to make a deposit. I choose the $100 amount and enter my credit card credentials. FanDuel users can also deposit using PayPal. But after trying a few different times, I was unable to make a deposit using either of these methods. I assume my credit card (visa) that could not be processed (as I tried paying with visa by way of my PayPal account also), I guess my card issuer might not process payment for FanDuel, I’m just guessing. But after I disabled the popup blocker from my browser and tried making a PayPal deposit debiting my bank account directly instead of my credit card, I was able to make a $100 deposit and receive a $20 deposit bonus.