Author

Topic: Battle of the Bots (on Open Transactions trading platform) (Read 1534 times)

legendary
Activity: 1222
Merit: 1016
Live and Let Live
Well for this to happen we need:

1.   Stable OT Market Server
2.   Issuers that issue to the market server
3.   Good library in for easily attaching an OT client to pre-developed trading packages.
4.   Scripts that can automate the certificate generation and basic testing.


OT still needs lots of work, but it is starting to stabilize.
Work in splitting the OT-Client wrapper from the Moneychanger project has only just started, there is still much more work to be done for that. (I was starting that project)
Issuing certificates is all done by hand atm.  We really should have a little python app or something that can automate much of that.

OT has a huge amount of potential, however it just needs lots and lots of work to take it from the proof-of-concept stage it is at now, to a more useable solid solution for finance.
legendary
Activity: 2940
Merit: 1090
It is just a link about the Open Transactions software itself, I could have linked to the GitHub site where people can get its source code or even various compiled packages for various platforms.

For *this* thread's purposes though it is probably *good* that all that stuff the link points at is crazy-complicated, because simply by investing in the bots that *this* thread is actually about people won't need to manually trade so won't need to care about all the details of the trading platform that people manually trading on it might want or need to know.

The link mostly just documents that there actually is such a thing as an Open Transactions server and that it does offer some different features from some of the exchanges people have become accustomed to. The main point is it does not charge commission/percentage on trades.

So by all means let us put aside the details of the exchange on which these bots are to trade, it is some Martian server on some Martian planet but fortunately for us and our bots it turns out commission/percentage fees on trades are not the Martian custom.

So lets get back to the bots. They might not even need to be scripts, at least initially they might be able to just be a list of "personality characteristics", like  "Hours,MACD,24,50,9" or "Days,SMA,10,21" or "Days,EMA,10,21".

Even just simple lists like that though would probably be more legible if written in shell-script form, like

Code:
#
# Hourly MACD, fast 24, slow 50, target 9"
#
Strategy=MACD
Period=Hourly
FastAverage=24
SlowAverage=50
TargetAverage=9

-MarkM-
legendary
Activity: 2072
Merit: 1001
I really think, after reading your your first and last page of your link in your post, that you really need to
dumb down the whole message for "me and the rest of us" who do not wish to study what this thing
actually does.

I gave it about two minutes of reading and my eyes glazed over.. and thus back to work.
It "sounds" neat but I have no idea why I would want to learn more.
legendary
Activity: 2940
Merit: 1090
An interesting feature of the markets functionality of the Open Transactions server is its lack of support for commission (percentage) based fees.

Instead, it can be configured to charge each "nym" (pseudonym, a pseudonymous identity) usage points. It is quite primitive currently, charging one usage point per underlying API (Application Progam Interface) call performed on behalf of that nym.

Possibly this structure might discourage bots from doing pathetically trivial-value trades by making each trade cost a minimum amount, while only minimally discouraging trades valuable enough that the usage points cost is trivial compared to the value traded.

It also however means that asking over and over again what is currently happening also has a cost, since that also uses API calls. Actual trades might well end up costing much less than the cost of polling the server as to how the markets are faring.

This state of affairs seems to me to be quite good for a Battle of the Bots scenario that I would like to run, because I am thinking of running bots under a shared environment in which I will run, at regular intervals, first a data acquisition and formatting routine and then a population of bots. The usage points cost of acquiring the market data will thus be shared across a whole population of bots who share that environment.

This seems quite advantageous for the bots who get to be part of that environment, however there is likely to be a trade-off in the actual computation(s) available to the bots. Basically I do not want to run a whole bunch of very CPU-intensive bots, rather I want to pre-compute a whole bunch of indicators so that each bot can be pretty much just a few if-then statements or a case-statement that ends up issuing and/or cancelling some offers on one or more markets based on the values of the provided indicators.

To do this nicely of course means first deciding what indicators to initially provide. Anyone wanting to use others can run scripts themselves on their own machines and use simple Open Transactions client scripts at their end to get the raw market data and place their trades.

I would like to keep the bot scripts as simple as possible. I am even thinking of having each bot be just a snippet of bash script, or maybe a bash function. But that is mostly because to me it is nice and simple to use bash scripts to determine what commands to run, which leads to thinking it might be simpler to import a bot's code directly into my script than to fire up some external interpreter to run it. I certainly want to be able to very easily see "at a glance" that a given bot does not do any looping (or does very minimal, non-recursive looping) and that it does not execute any suspicious, dangerous, or very resource-consuming commands.

I would like to start off with a few very simple very classic strategies, tried and true strategies people are willing to bet on, because I would like these bots to be able to themselves serve as stocks/shares in which they and others can invest.

Thus the more bots in the population, the more assets there will be for them to exercise their strategies upon.

That is the basic concept. The rest will likely just be details of implementation...

-MarkM-
Jump to: