Pages:
Author

Topic: [GLBSE] - MINING_B.HEADS.FUT / MINING_B.TAILS.FUT - Bet against the mining bonds - page 2. (Read 2370 times)

legendary
Activity: 2618
Merit: 1007
I think (not sure, correct me if I'm wrong) that Sukrim was suggesting your bond design is manipulable. That's not a good thing.
Yes, I'm saying that depending on how the index is built (and you will have to give out the algorithm how to do that publicly of course, otherwise nobody will trust you) it might be very easy to manipulate in the "-5%" area, since bids are generally shallow on GLBSE, so it is easy once you hold some shares to do a flash crash.

You offer bets with quite good returns (depending on the amount these shares are priced) and I think I can sell to myself on GLBSE, so all in all you offer quite some incentives to crash some mining bonds and earn money with it.

Howto:
Buy all "tails" shares you can afford.
In the end of the month, borrow shares of one of the index bonds (the one with the least bids ideally).
Sell bonds right before the last time the index is calculated, mostly to yourself (bid a lot of shares for 100 Satoshis or so, to keep fees low) and a dozen or so to some lucky ppl. You can even sell multiple times, for more shares traded (I REALLY have to test this out on some trash shares with the API! Might be interesting to have a few thousand shares traded + no fees(?), if you sell for 1 Satoshi...)
It might be the case that you manage to crash the bond even after that for some time, so you can cheaply buy back the missing shares and return them to your lender.

Congratulations, you crashed the index (shares trading for a few satoshis should have some impact on it, no matter how you calculate the average) and win the jackpot!


Your bets can only work if it is as easy to manipulate the price up (or to just buy through the walls) - as there is no real incentive to keep up lots of empty bids but it is completely free to put up ask orders just in case someone really wants an asset I hold so badly that he'll pay a huge premium (I recently sold 1 share of TEEK.B for 1.2...) as I get dividends in the mean time anyways, it is always VERY easy to dump share prices with tiny amounts of shares.

Counter tactics would include allowing open orders that are not 100% backed or simply building sniper bots that detect rapid down movements and that jump in the middle, bidding themselves and getting a few cheap shares. The difficulty is then to make sure these are really just cheap shares, not already worthless shares that someone else wanted to get rid of.
donator
Activity: 2058
Merit: 1054
"If I hold 100 of each of these securities this month, do I win or lose at the end of the month?"
But "100 bonds of each" is on an arbitrary scale.

Let's take this to the extreme. Suppose someone issued a 1 GH/s bond. Each bond would be traded for 200 BTC. Someone holding "100 bonds of each" would have 20,000 BTC worth of this bond, and a few dozen BTC of other bonds. Almost his entire portfolio will be this particular bond, and only the price of this bond would affect whether he wins or loses, without any weight given to the other bonds.

If instead you say "100 BTC worth of each bond" or "100 MH/s of each bond", you'll have a true average with each of the bonds having an effect on the index price.

I don't think that adjusting the index for outstanding shares or adjusting it for volume really helps out that index.
Adjusting for volume isn't required, especially since you've included only the largest bonds, but consider this - if you included some bond where only 1 MH/s total were issued, its price could go up and down like crazy because there is no liquidity or depth, and this insignificant bond will be the major factor in the index trend. If you weight by volume you make sure only bonds that have a meaningful price will affect the index.

There's an API for outstanding shares now, so it's easy to find out.

The easiest thing to do currently would be to just gather a lot of shares (depending on the averagin/weighing used from Gigamining or else whoever has the most shallow bids), buy up all "more than 5% loss" shares and dump the price down to 1 Satoshi or whatever is needed to trigger the strike price. You could maybe even sell to yourself(?) so all you loose are 0.5% GLBSE fees and a few shares to some lucky bidders.

If you short these shares, you could even manage to make more profits out of such a dump action.
That's a great idea!  I'll flesh it out on paper after work tonight, see if I can wrap my brain around it.
I think (not sure, correct me if I'm wrong) that Sukrim was suggesting your bond design is manipulable. That's not a good thing.
legendary
Activity: 1106
Merit: 1006
Lead Blockchain Developer
There's an API for outstanding shares now, so it's easy to find out.

The easiest thing to do currently would be to just gather a lot of shares (depending on the averagin/weighing used from Gigamining or else whoever has the most shallow bids), buy up all "more than 5% loss" shares and dump the price down to 1 Satoshi or whatever is needed to trigger the strike price. You could maybe even sell to yourself(?) so all you loose are 0.5% GLBSE fees and a few shares to some lucky bidders.

If you short these shares, you could even manage to make more profits out of such a dump action.

That's a great idea!  I'll flesh it out on paper after work tonight, see if I can wrap my brain around it.

In the meantime, in the API docs I couldn't see where you can pull the outstanding shares.  Do you have a link or can you post some of the docs?
legendary
Activity: 1106
Merit: 1006
Lead Blockchain Developer
It's not trivial to find out how many bonds are outstanding. Going by volume is more meaningful, but you have to normalize.

As an alternative to normalizing each bond, multiply the bond values (or take the geometric mean) rather than adding them, that's scale-invariant.

The more I think about it, the more I think doing anything by volume (which, if I'm understanding this correctly, simply represents numbers of shares changing hands?) would be irrelevant to the metric I'm trying to portray.

The metric I'm after is this; from a bond holders perspective:

"If I hold 100 of each of these securities this month, do I win or lose at the end of the month?"

I don't think that adjusting the index for outstanding shares or adjusting it for volume really helps out that index.

Though, there may be a use case for creating other indexes.  Wink  And I'm certainly not opposed to that if it would be of use to the community.

legendary
Activity: 2618
Merit: 1007
There's an API for outstanding shares now, so it's easy to find out.

The easiest thing to do currently would be to just gather a lot of shares (depending on the averagin/weighing used from Gigamining or else whoever has the most shallow bids), buy up all "more than 5% loss" shares and dump the price down to 1 Satoshi or whatever is needed to trigger the strike price. You could maybe even sell to yourself(?) so all you loose are 0.5% GLBSE fees and a few shares to some lucky bidders.

If you short these shares, you could even manage to make more profits out of such a dump action.
donator
Activity: 2058
Merit: 1054
The MINING_B INDEX consists of the sum total value of the 24h Avg for the following 5 perpetual mining bonds:

GIGAMINING
PUREMINING
YABMC
BITBOND
ZETA-MINING
By simply summing the prices, you are giving bonds disproportionate weight.

Some of the bonds represent an amount different than 1 MH/s. The price per MH/s of a 5 MH/s will arbitrarily have 5 times as much weight in affecting the index. So you need to normalize each bond by the hashrate represented.

In addition, you can also consider weighting bonds by their volume.
I'm more interested in the actual value of the bonds and how it shifts up and down than I am in what each bond represents.
But you're weighting them arbitrarily. Instead of a mix of all bonds, it basically is just the price of Gigamining.

Weighting by volume is interesting.  I wonder if it would instead be possible to weight by total share counts.
It's not trivial to find out how many bonds are outstanding. Going by volume is more meaningful, but you have to normalize.

As an alternative to normalizing each bond, multiply the bond values (or take the geometric mean) rather than adding them, that's scale-invariant.
legendary
Activity: 1106
Merit: 1006
Lead Blockchain Developer
The MINING_B INDEX consists of the sum total value of the 24h Avg for the following 5 perpetual mining bonds:

GIGAMINING
PUREMINING
YABMC
BITBOND
ZETA-MINING
By simply summing the prices, you are giving bonds disproportionate weight.

Some of the bonds represent an amount different than 1 MH/s. The price per MH/s of a 5 MH/s will arbitrarily have 5 times as much weight in affecting the index. So you need to normalize each bond by the hashrate represented.

In addition, you can also consider weighting bonds by their volume.

I'm more interested in the actual value of the bonds and how it shifts up and down than I am in what each bond represents.

Weighting by volume is interesting.  I wonder if it would instead be possible to weight by total share counts.

Trick is keeping this as foolproof as possible.  I don't want to get too complex if I can help it.
donator
Activity: 2058
Merit: 1054
The MINING_B INDEX consists of the sum total value of the 24h Avg for the following 5 perpetual mining bonds:

GIGAMINING
PUREMINING
YABMC
BITBOND
ZETA-MINING
By simply summing the prices, you are giving bonds disproportionate weight.

Some of the bonds represent an amount different than 1 MH/s. The price per MH/s of a 5 MH/s will arbitrarily have 5 times as much weight in affecting the index. So you need to normalize each bond by the hashrate represented.

In addition, you can also consider weighting bonds by their volume.
hero member
Activity: 686
Merit: 500
Wat
legendary
Activity: 1106
Merit: 1006
Lead Blockchain Developer
hero member
Activity: 518
Merit: 500
GLBSE asks for a thread url when setting up a security... thus here is where my future security will reside.  Wink
Unlike the contract text, you can edit the details of the thread link (and website, twitter etc.) after you have registered the security.
legendary
Activity: 1106
Merit: 1006
Lead Blockchain Developer
A quick case study!

If you buy 100 shares of MINING_B.HEADS during the month of July for 100 BTC and...
  - on July 1 the MINING_B INDEX is 109.53 and ...
  - 200 total shares of MINING_B.TAILS were sold and ...
  - 300 total shares of MINING_B.HEADS were sold and ...
  - at the end of July the MINING_B INDEX is 115.21 ...

  - on Aug 1 we would calculate the percent change as: ((115.21 - 109.53) / 109.53) * 100 = 5.186% increase.

  You would thus receive as a strike price: 1 + ((200 * 0.6) / 300) = 1.4 BTC
    Thus your total shares would be purchased back for a total of 140 BTC, giving you a 40% return!

Another example, this time you think the market will go down.

If you buy 150 shares of MINING_B.TAILS during the month of July for 150 BTC and...
  - on July 1 the MINING_B INDEX is 109.53 and ...
  - 400 total shares of MINING_B.TAILS were sold and ...
  - 350 total shares of MINING_B.HEADS were sold and ...
  - at the end of July the MINING_B INDEX is 102.21 ...

  - on Aug 1 we would calculate the percent change as: ((109.53 - 102.21) / 109.53) * 100 = 6.683% decrease.

  You would thus receive as a strike price: 1 + ((350 * 0.6) / 400) = 1.525 BTC
    Thus your total shares would be purchased back for a total of 228.75 BTC, giving you a 52.5% return!


* It will not always come out rosy.  You must plan ahead and correctly anticipate what will happen with the top perpetual mining bonds.  If you predict correctly, you gain.  If you do not predict correctly, you will see losses.  Do not risk anything you cannot afford to lose!

legendary
Activity: 1106
Merit: 1006
Lead Blockchain Developer
Currently Discontinued... Sorry.  I need to work out the flaws and come back with a new contract.










You can now buy MINING_B INDEX futures on GLBSE!

Experimental Mining Futures Trading
  - The MINING_B.HEADS Future is for investors that believe the MINING_B INDEX will go UP more than 5% by the end of the month.
  - The MINING_B.TAILS Future is for investors that believe the MINING_B INDEX will go DOWN more than 5% by the end of the month.


The MINING_B.TAILS.FUT future and the MINING_B.HEADS.FUT future are a paired offering, betting against each other.

MINING_B.HEADS.FUT

The future is offered starting on the first of the month around 12 NOON EST.  At the end of the month, the future will be purchased back from the bearer for the strike price.

The strike price will be based on the rise and/or fall of the MINING_B INDEX.

If the MINING_B INDEX has risen in excess of 5% over the course of the month, the strike price will consist of:

  1 BTC + ((The total quantity of all MINING_B.TAILS futures x 0.6) / The quantity of MINING_B.HEADS futures) BTC

If the MINING_B INDEX has not risen in excess of 5% or fallen in excess of 5% over the course of the month, the strike price will consist of:

  0.8 BTC

If the MINING_B INDEX has fallen in excess of 5% over the course of the month, the strike price will consist of:

  0.0001 BTC


MINING_B.TAILS.FUT

The future is offered starting on the first of the month around 12 NOON EST.  At the end of the month, the future will be purchased back from the bearer for the strike price.

The strike price will be based on the rise and/or fall of the MINING_B INDEX.

If the MINING_B INDEX has fallen in excess of 5% over the course of the month, the strike price will consist of:

  1 BTC + ((The total quantity of all MINING_B.HEADS futures x 0.6) / The quantity of MINING_B.TAILS futures) BTC

If the MINING_B INDEX has not risen in excess of 5% or fallen in excess of 5% over the course of the month, the strike price will consist of:

  0.8 BTC

If the MINING_B INDEX has risen in excess of 5% over the course of the month, the strike price will consist of:

  0.0001 BTC


The MINING_B INDEX is created by polling the GLBSE's top volume mining bonds.  For a complete explanation and graphing, please visit:

  http://www.everydayjim.com/mining_index.php

For the purposes of calculating the strike price, the FIRST polled value within the month will be used and the LAST polled value within the month will be used.  Thus, if there is a server outage or other interruption that prevents polling, there will be no question as to what values will be used in determining the strike price.

Pages:
Jump to: