Pages:
Author

Topic: Bitoption.org -- ESCROWED LIVE Bitcoin Options Trading - page 4. (Read 36582 times)

legendary
Activity: 1246
Merit: 1016
Strength in numbers
I seem to have plenty of USD available, but I'm being told I don't have enough to place bids. Am I misreading or is there a bug?
legendary
Activity: 2506
Merit: 1010
How does this impact BitOption?

Quote
A person [which includes companies] shall not offer to, or enter into with, a person that is not an eligible contract participant, any agreement, contract, or transaction in foreign currency except pursuant to a rule or regulation of a Federal regulatory agency allowing the agreement, contract, or transaction under such terms and conditions as the Federal regulatory agency shall prescribe…
   Section 742(c) of the Dodd-Frank Act
  http://www.opencongress.org/bill/111-h4173/text?version=enr&nid=t0:enr:6175


 - http://www.zerohedge.com/article/trading-over-counter-gold-and-silver-be-illegal-beginning-july-15
newbie
Activity: 56
Merit: 0
Second update, we got DDOS'ed today, but seem to have weathered it ok. Services are at normal.

Exercising puts is verified working.

Thanks for bearing with us!!
newbie
Activity: 56
Merit: 0
UPDATE: I believe we are now resistant to CSRF attacks.

In fact, click this link to try: https://bitoption.org/sendBTC?amt=200. A common hack is to embed that url in an image link. If someone tries this, they'll be outed pretty quickly.

The site is back up with a few other requested improvements, including better feedback while waiting for exchanging, posting, withdrawing and depositing.

That was fun! Well, not really. I'm tired and chagrined, but happy that ultimate impact seems to have just been on my time.

Damien, I'll respond to your thoughts later, thanks for sending them on -- much appreciated.


jr. member
Activity: 56
Merit: 1
I think the margin system you proposed sounds like it could work, but you must be careful that you always keep enough in escrow. I don't think you should ever have to reach step two (exchange on Gox USD for BTC until you are above water) if you are doing things right. If you add in a few extra steps in your scenario above we can get some interesting positions. If you are careful it could work, for example.

Quote
So, let's say you have $100 USD and 10 BTC.

You write 5 calls for December at $100, price: $5. They get bought.

Your old and new available calcs would give you: $125 USD and 5 BTC.

Now, let's imagine two weeks later, you buy 5 calls for December / $100 and you pay $2.

The old calculation would say you have Available BTC: 5, USD: $115.

The new calculation would say you have available BTC: (10 - 5 + 1 call you can pay for) = 6, USD $115.

What happens in this scenario if you then write 6 more calls? Would you actually put $100 in escrow for the sixth and final? It seems like you have to or you risk a bankruptcy. Would I get warned that writing that 6th call would lock up $100. I suppose this could work and give more flexibility, as long as you lock up the money when they count on exercising. Now, after that, lets say I buy a call with a strike of only $30. You would need to release $70 of the $100 you locked up since I can now exercise a cheaper contract. But lets say I want to sell the contract that exercises at $30 (selling isn't an option now, but it needs to be soon). When I put in an ask, you would have to once again lock up an extra $70, and I shouldn't be allowed to place the ask unless I have $70.

This could lead to some very confusing situation if I have very many contract and am counting on the ability to exercise them. For example, lets say I bought 5 calls at $15, 5 at $20, 5 at $25, 2 at $50, 1 at $100, and 1 at $150. I've got no bitcoins in my account but a whole lot of USD, $275. Enough to exercise all the options except the $100 and $150 one. I have no bitcoins, but if I want to write some calls, some of the USD can be put in escrow. So I write 17 calls, which puts all my money in escrow to exercise the contracts if needed. The calls are a long shot so I didn't get paid much for it, we can ignore that money.

Now someone puts in a really good bid for my $15 options, and I want to sell them (I'm assuming selling in possible) and lock in my profits. so I try to sell two of my $15 dollar options. Then the system should run the calculations, realize that I need enough USD in escrow to exercise 17 options which would require $495 if I sold two $15 options. I've only got $275 in escrow so the system asks for another $220 USD. All just to sell contracts I already own. This could be confusing, especially so if everything got even more tangled. I could see someone accidentally grid-locking his funds, unable to profit in a good situation or cut losses in a bad one. I suppose that is the danger of this leverage. Also, take into account that I could be doing this on the USD side of things as well with puts and it really starts frying the brain.

Not to mention, what I really want to do in the very first scenario is pass on the contracts I wrote to someone along with $2 (aka paying someone to take the risk of the contract I wrote... is there a term for this? selling? passing?), this way all 5 bitcoins in escrow can be freed.


EDIT

One thing I'd really like to be implemented is this:

Say I place an ask on a put. $5 for a $10 strike. Right now, $10 USD will get put into escrow. I would prefer it if only $5.05 got put into escrow, and when the contract get filled, the $4.95 ($5 - commission) that I just earned gets moved to escrow to guarantee that I can supply $10 if exercised.

Actually, going a step further, I'd like nothing to go into escrow unless the contract is made. And I'd like the ask to be removed if my balance falls below $5.05. You know what, I really need to put together a comprehensive flow chart. We could be allowed to do a lot more with zero risk to you, if we just nailed down the details of the system.
full member
Activity: 210
Merit: 100
Thanks for the communication, quick and professional handling of this. Smiley
newbie
Activity: 56
Merit: 0
Update:

There is an attempt at a CSRF in the wild right now aimed at bitoption.org. It tries to send 20 BTC to an address starting with: 1GEwYPX6..

I reviewed our balance sheets and transaction log; nobody has been hit by this or any other CSRF to my knowledge; I manually reviewed back four days of transaction, and scanned the rest for repeated withdrawal requests to confirm.

That said, someone has clearly posted an image link, likely in these forums, which directs to sendBTC?etc.etc. This image link will not function, and has not been successful against bitoption.

The site is down right this second, I am putting in a few layers of protection against this, and will update when it's in place.

In the interim, if you would like to exercise your contracts, please email me at [email protected] FROM your account email, and I'll manually fill your requests, including withdrawals if you need.

I anticipate a few hours to get this sorted out; there will be a slight impact on API developers as well.

Sorry, this is my bad; I thought about XSS but not CSRF when I implemented the API. My hope is that the damage is limited to a little downtime for you all. More here and in the status thread as it comes!

newbie
Activity: 56
Merit: 0
Hmm, I'll check that right now.

sr. member
Activity: 364
Merit: 250
member
Activity: 70
Merit: 10
Just a quick note before I duck out. The exercise option button in the GUI is not working for me, and neither is a command line. It's a put option and I have the available BTC to sell. I also tried: https://bitoption.org/exerciseContract?token=x&contractId=70&num=1, but that didn't work either. I get an internal server error.

Cheers.

Having the same problem. Tried to exercise two contracts and they didn't seem to budge.
hero member
Activity: 518
Merit: 500
Just a quick note before I duck out. The exercise option button in the GUI is not working for me, and neither is a command line. It's a put option and I have the available BTC to sell. I also tried: https://bitoption.org/exerciseContract?token=x&contractId=70&num=1, but that didn't work either. I get an internal server error.

Cheers.
newbie
Activity: 56
Merit: 0
Proposal for Margin Trading System for Bitoption

Goals: Primary goal is to increase liquidity. Secondary goal is to allow traders to speculate more. We cannot break our 'escrowed' commitment to users, so we must make sure all written contracts can be fulfilled. We want to keep the market's margin risk low to nil as well, but this is secondary to the commitment on fulfillment.

Plan: Increase "Available" USD and BTC Calculations using some netting formulas (below), and allow anything up to the Available to be bidded/asked on any given strike price / date / put or call. Implement auto-closing of bids / asks, and auto-exercise if account negative to reduce margin risk to exchange.


Proposed Netting Calculation:
-----------------------------------
Currently your available USD is calculated as: Actual USD - #/puts written * strike of puts.

This would be updated to be: Actual - #/puts written * strike + #/puts bought * strike (for puts that you have real BTC to exercise).

Available BTC is calculated as: Actual BTC - #/calls written.

It would now be: Actual BTC - #calls written + # calls bought (for calls that you have real USD to exercise).

The most valuable puts and calls would be used to calculate last number in each.

Scenario 1
So, let's say you have $100 USD and 10 BTC.

You write 5 calls for December at $100, price: $5. They get bought.

Your old and new available calcs would give you: $125 USD and 5 BTC.

Now, let's imagine two weeks later, you buy 5 calls for December / $100 and you pay $2.

The old calculation would say you have Available BTC: 5, USD: $115.

The new calculation would say you have available BTC: (10 - 5 + 1 call you can pay for) = 6, USD $115.


Scenario 2
You have $100 USD and 10 BTC.
You write 5 calls for December at $100, price: $5. They get bought.
You buy 5 calls for late July at $20 for $10.

Now you have:

USD = $75
BTC = 10 - 5 (for calls written) + 3 (as you can exercise three of your calls for $60) = 8.

Let us now imagine that you write 8 calls for early July, $25 strike. You are paid $1 per.

USD = $83.
BTC = 10 - 13 (for calls written) + 4 (you can now exercise a fourth call) = 1.

Now, imagine that the 8 calls are exercised.

USD = $283
BTC = 2 - 5 + 5 = 2

Now, you for some reason do not exercise your late July calls. After expiration, here is how things look:

USD = $283
BTC = 2 -5 = -3

You are officially underwater. As SOON as this happens, we start to force close you out of your positions to get you back up to above water in both accounts.

How we would execute a margin call
For BTC:
1) We execute any in-the-money calls you own that you can afford, one at a time until we have you above water; lowest strike to highest strike.
2) If you are still under water, we exchange on Gox USD for BTC until you are above water
3) If you are still under water, you have no more USD and no more calls. We proceed to execute any in-the-money puts you have by:
  a) loaning you the BTC
  b) taking back our loan plus a small fee
  c) sending you the remaining USD
  d) exchanging the USD on Gox
4) If you are still under water, you're broke. You have no USD, no BTC, no puts, no calls.

The USD path is analogous.

So, one question is "when could 4 happen?" I'm not sure, frankly. If the path I suggest above is sensible, and we are careful about it, it might happen only in weird exchange circumstances. I'd hate to be wrong, though, so I'm asking you for help testing out this plan in your head..

One thing is clear, we will need to do this margin check before you are allowed to withdraw USD / send BTC.




newbie
Activity: 56
Merit: 0
Thanks for the comments; I took a day or two off except for service requests. my brain was exploding.

mmdough, I'll e-mail you.

Other thoughts are excellent, and I'm working on them. I interviewed on programmer this week, and another is interviewing next week, so hopefully updates will come even faster soon. I'm limited in my hiring somewhat by BTC values, so if it keeps dropping, I'll probably have to cancel the programmer. (Remind me to buy some puts..)

Next post is my proposal for the margin system, comments desired.
legendary
Activity: 1870
Merit: 1023
It might be useful to have a feature that would pool the options by strike value. Maybe being able to click on a strike value to get a table of options at that strike value could solve this.

For instance, if I wanted to buy an option with a strike value of $20 - it doesn't make sense for me to buy one expiring July 28, if I can get one that expires at a later date at the same price or less.

This isn't a big problem now, but could become one as the number of contracts increases.

A more complex situation is that you don't want to buy a put option with a strike value of $20 for $5, if you can get one with a strike value of $19 for less than $4 with the same or longer time period.  This could be handled by subtracting the price from the strike value - and creating a column of values where the contract becomes profitable.


Also: Datatables.net has a cool javascript (jQuery) table system that lets you do A-Z column sorting, page sets, and export to CSV.  The support forum is great too.
legendary
Activity: 1870
Merit: 1023
Medium term for me is 3 months, long term is 6-24 months.

When I submit an order, the user message that comes up could be better. It says "put in the bid" which makes me feel like I forgot to add a value in the bid field.  It should say something like: "The bid order is placed".

(See my earlier message where I was confused)
member
Activity: 70
Merit: 10
If anyone wants to sell some medium to long term puts.  I'm interested (if the price is right).  There are currently a lot more calls.

hows $10 at the end of the month sound?
legendary
Activity: 1870
Merit: 1023
If anyone wants to sell some medium to long term puts.  I'm interested (if the price is right).  There are currently a lot more calls.
legendary
Activity: 1870
Merit: 1023
I got my first successful option that I'm bidding on (a put contract for Dec 15)!

I accidentally created it three times because it said "put in a bid" the first two times and I thought my contract hadn't gone through. 
It is possible that this an error with the Opera browser and your website.  I was using Opera 11.11.

Fortunately I was able to cancel the first two contracts.

The two contracts that I created in Opera had a strike value of $1 which is weird, because I specified a strike value of $5.

It worked fine in Firefox (4).
member
Activity: 70
Merit: 10
Quote
Secondly, if you can write, I am looking for someone to volunteer to write a three or four part set of articles on how to trade forex options, with simple examples. We'd send them out to people one every few days when they sign up for the site. I think this would be a big help for many.

I can write, but I lack in-depth technical knowledge. How much detail would you need? I could certainly write enough to inform someone brand-new to options trading.

Let me know more clearly what you had in mind and I can probably take care of it.
legendary
Activity: 1870
Merit: 1023
Clicking on my username on MtGox showed my account options and then I was able to send money to [email protected].

MtGox - should have a link that says User Account or Profile. Clicking on your user name is not standard behavior (see how this forum does it).  I'll go post that suggestion in the MtGox thread.
Pages:
Jump to: