Bitcoin Forum
November 18, 2024, 08:11:32 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Cancelled] Aricie: Trading Competition (50 btcs bounty)  (Read 2802 times)
Aricie (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile WWW
October 21, 2011, 01:09:05 AM
Last edit: November 07, 2011, 12:59:55 AM by Aricie
 #1

Hi all,

This is a follow up to that past announcement

Introduction

As some of you probably already know, our company develops a general purpose bot platform.

To illustrate its capabilities, we have developed market making bots with bindings to Mt Gox, TradeHill and now closed EchangeBitcoins APIs.
Their source code is publically available as an open-source project on codeplex.

We also provide a free hosted version of those bots on a demonstration website
On that website, you can register your own bot, configure a bunch of parameters and the platform will start issuing orders to your configured account.

While developing those bots, I tried to keep them simple (as you may see from the source code), while exposing many parameters for user customization.

We are now trying to figure out the best set of default parameters, which is what this competition is about.
In a distinct bounty, you will be invited to improve the bots themselves, but this one is about figuring out what best works with the existing capabilities.

Rules

(Feel free to propose improvements for the time being, the final rules will be frozen before the competition starts)

All participants are asked to register a bot on our hosted platform and to reply to this thread stating the username of their account:

By November the 1st their bot will be monitored from our platform:

  • the balance will be recorded
  • the Exchange account password will be changed (to prevent any further manual intervention)
  • the bot user account will be disabled (to protect the new password)

An announcement will be made in this thread, with a detailed list of participants, corresponding balances and parameters
On December the 1st their bot will be monitored again:

  • The balance will be recorded again
  • A csv export of the bot history will be saved
  • The initial password will be restored on the exchange platform
  • The bot account will be enabled again

An announcement will be made in this thread with the detailed results for each bot (new balance + link to the csv export)
The owner of the bot with the best profit will be rewarded with a prize of 50 btcs

Reflections

Feel free to register several bots and try various configurations. Just be aware that the current 5 min schedule is to allow for the 50 currently hosted bots to issue/cancel many orders each in case of steep market moves.
If I have to increase that schedule because of the competition success, well fair enough you’ll have to take that into account. But if your bot stupidly issues/cancels so many orders that it slows down the whole platform by itself, I will have to disable it (that should probably be a rule, what do you guys suggest?)
I also highly recommend that you install the bot platform and experiment locally rather than directly on site. Also tell me if you need help with that.

There are broadly 2 kinds of parameters you can customize:

  • The many percentages that define the market making trading band, and the way it updates as the market moves. I reckon they shouldn’t be too hard to understand as currently documented and/or by looking at the source code
  • The pricer expressions, which are of a quite different nature, and may require an additional explanation: those are code expressions directly compiled into .Net Byte code through a dedicated open-source engine. What you need to know is the available set of variables by means of an ExpressionOwner of .Net type TradingContext and the fact that all functions from System.Math are available by means of Context Imports. If you mess up with an expression, we will get exceptions in the dnn event log while the bot attempts to run, but you'll only get to see that the bot doesn't work. Accordingly, you should definitely install the version on premises if you want to start playing with those fields.

I expect that with enough participants, the winner will demonstrate the appropriate customization for both kinds of parameters.
Be aware that the last couple of months have proved that it can be quite tricky to find a strategy that works on low as well as on high volatility. Hopefully you'll get to experiment both kinds of conditions before the competition starts.

Just a reminder to finish: This is about market making bots: they contribute liquidity to the market and make a profit by working against volatility but they will be outperformed by other kinds of predictive strategies.
neofutur
Full Member
***
Offline Offline

Activity: 146
Merit: 100



View Profile
October 21, 2011, 06:38:25 AM
 #2

(Feel free to propose improvements for the time being, the final rules will be frozen before the competition starts)

 can you confirm all of this is developped with visual basic and probably hosted on windows ?

 if yes the only improvement I can suggest would be to use other technologies
ElectricMucus
Legendary
*
Offline Offline

Activity: 1666
Merit: 1057


Marketing manager - GO MP


View Profile WWW
October 21, 2011, 07:04:20 AM
 #3

Someone with the skills to do what you ask for would charge you in advance. And it would be well... _very_ probably much more than 50 btc.
Aricie (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile WWW
October 21, 2011, 01:22:58 PM
 #4

can you confirm all of this is developped with visual basic and probably hosted on windows ?
if yes the only improvement I can suggest would be to use other technologies

There will be another thread/bounty concerning the development itself, please keep that in mind.
The hosting environment is .Net and that isn't to be changed any time soon, take that for granted.

Now about the languages:
  • DotNetNuke used to be developed in Vb.Net and was only migrated to c# recently. This is the main reason why it became our primary language, yet we're used to switching on a daily basis
  • The bot platform is developed using various libraries, some of them in c#, others in Vb.Net, though it is meant to consume any kind of .Net library.
  • The open-source trading bots are developed in Vb.net, yet I don't mind migrating to c# as part of the 2nd bounty if the need is expressed. You could also very well reference the resulting dll from an IronPython project and start implementing your own trading strategy with your favorite language, while leveraging the existing engine and DOM classes.
  • The expression language relevant for the current bounty uses grammatica to parse its own strongly typed language very close to c# and emit IL through Lightweight CodeGen rather than Codedom compilation, as explained in the original article. Practically, it is quite intuitive to write any kind of mathematical expression, which is more than enough here.


Someone with the skills to do what you ask for would charge you in advance. And it would be well... _very_ probably much more than 50 btc.

It is quite true that many people with trading skills here seem more eager to use them to dry the market for their personal benefit rather than embrace the open-source flavor of Bitcoin and share them with the community. On the other hand, quite a few are concerned with price stability and many holders have lost a bit with the recent crash, yet there is still a lot of enthusiasm on what Bitcoin can achieve beside the fading get-rich-quickly scheme.
Honestly we don’t mean to compete in the same league as those guys, not only technically, but designedly. Hopefully if 50 btcs is not enough of an incentive, curiosity or entertainment will.
ElectricMucus
Legendary
*
Offline Offline

Activity: 1666
Merit: 1057


Marketing manager - GO MP


View Profile WWW
October 21, 2011, 01:38:13 PM
 #5

I agree that while you have a innovative approach here your Language choice is kind of exotic for the usage. (I'm kind of glad I can say that, 10 years ago this wouldn't have been the case)

If you were to target the application for standalone Desktop usage this might be something different since microsoft still has a foot in there, but I think anything serverside having to do with them is a niche product now.

Well good luck anyway.
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 21, 2011, 10:35:13 PM
 #6

Awesome! If many use this, it should stabilize and liquidify markets!

I'm testing it.

One thing, though: you're sending me my site password in the confirmation email!?! Don't do that!

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
Aricie (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile WWW
October 22, 2011, 12:31:15 AM
 #7

One thing, though: you're sending me my site password in the confirmation email!?! Don't do that!

My fault indeed. DotNetNuke comes with the wrong configuration for passwords by default, and a subsequent fix is not trivial.
I have just requested some help from a core team member working on a tool to deal with that scenario.
I'll apply the fix ASAP. Thanks for letting us know
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 22, 2011, 10:23:42 AM
 #8

One thing, though: you're sending me my site password in the confirmation email!?! Don't do that!

My fault indeed. DotNetNuke comes with the wrong configuration for passwords by default, and a subsequent fix is not trivial.
I have just requested some help from a core team member working on a tool to deal with that scenario.
I'll apply the fix ASAP. Thanks for letting us know

Another faux-pas (in my mind): You should really use mtgox api keys. It might be applicable for the competition to seize the password, but for normal users wanting their funds managed by the bot, this is not acceptable.

Btw: I'm not taking part in the competition, so leave my password alone, please Wink

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
Aricie (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile WWW
October 22, 2011, 11:05:47 AM
 #9

Another faux-pas (in my mind): You should really use mtgox api keys.

Agreed but :

  • I developed the bots back in late May against the legacy API
  • This allowed to support TradeHill and ExchangeBitcoins with minor changes (a simple filter on Json responses), which is the the reason why I didn't try move to the new API yet.

In a separate bounty I will invite the community to get involved in the open-source project.
That could be one of the next updates, such as supporting CampBx or Bitcoinica's distinct APIs.

It might be applicable for the competition to seize the password, but for normal users wanting their funds managed by the bot, this is not acceptable.
Btw: I'm not taking part in the competition, so leave my password alone, please Wink

Sure  Grin
Again, as I suggested in my previous announcement, that website of ours is mainly for demonstration purpose, and you'll get the best performance/security by hosting the bots on you own DNN instance
Now, everything is stored encrypted, and the firewall powered by that the same application engine is running
Aricie (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile WWW
October 31, 2011, 08:53:25 PM
 #10

Ok we have no registered participant yet, so I will have to postpone the competition:

The new dates are:

  • Start: Monday 7th November 8:00 am GMT
  • End: Wednesday 7th December 8:00 am GMT

That leaves another week for training, which might help as migrating to the web farm last week took a bit longer than expected.

We had about 10 new user bots registered since the competition was announced, which I guess is a good start.
Some of you have spent quite some time playing with the parameters. Thanks for that.
If you need any help, I'll be glad to answer your questions.

Now, please don't forget to answer this thread with your account username to register as a competitor.
Your account won't be frozen before the competition start. Also feel free to register a dedicated side account with only a couple of btcs if you want to keep playing on you own with the best part of your allocated resources.
Mt Gox minimum order is 0.01 btcs so you don't need much to get started (Tradehill minimum is 1$, which could be a handicap though).

Cheers,

Jesse
Aricie (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile WWW
November 06, 2011, 11:39:48 AM
 #11

Ok Guys, so far I only have one official competitor from Reddit.
For those who said they were interested, can you post here or PM me as the competition is due to start tomorrow?
Aricie (OP)
Newbie
*
Offline Offline

Activity: 58
Merit: 0


View Profile WWW
November 06, 2011, 08:49:01 PM
 #12

I am sad to announce that by lack of registered participants I have to cancel the trading contest.

The 50 btcs will be reported to the 2nd bounty, which is about improving the trading bots source code.
Hopefully, this will allow to implement back-testing against historical data, which would help achieving the competition's initial objective.

In the mean time, I highly recommend all users who recently registered to keep an eye on their earnings, and try tweaking their parameters, which should make a difference between securing a profit and burning potential gains in transaction fees.

Regards,

Jesse
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!