Thursday, 31 October 2013

twitter, FX and working in Europe

Working in Europe got me thinking about my currency exchange timings and so have been working on the analysis of GBPEUR, GBPUSD, EURUSD and the reciprocals, USDEUR, USDGBP and EURGBP and these are now being tweeted on @space_FX or

The London Stock Exchange twitter feed name has changed to space_LSE - @space_LSE or

But back now and have been trading here on the space_LSE feed with some very good results.

Sunday, 1 September 2013


its taken a little more than the 5 days, and this will be logged in the current Markov Chains, but ORE has now reached its desired level and continuing up. :-)

Thursday, 20 June 2013

And legs for opera

As you will probably have seen, Twitter had changed its authorization scheme from XML to JSON meaning that the Oracle PLSQL XML based tweets no longer worked. I have been working hard to re-establish this process and have now completed my testing, and we are tweeting from oracle once again.

I have just Tweeted all companies that have been missing since Twitter changed the Authorization on the 11th June 2013. The twitter link is in the heading.

I have been able to accomplish v1.1 twitter app authorization by writing an external Perl script. This is not as difficult as it first appears although you will need to get all your ducks lined up in a nice row.

Chronologically, this is done by:

1. go onto and first off make sure that your Module::Build is up to date - there are a couple of ways to do this dependent on if you are working with windows or linux. linux is pretty easy because one runs cpan as root, and then types in 'insert Module::Build'. On windows its a search and download and then copy the lib files to one of the Python @INC paths - if one runs "perl -e 'use Module::Build;'" you will see errors if this is not loaded, and you will see the path if you get an error.

2. cpan Net::Twitter

3. cpan DBI

4. write your Perl script to access the database and tweet.

The following is a very simple Perl script to test if one has competed everything as required:
(of course you will need the tokens and secrets from Twitter here)


use Net::Twitter;

my $nt = Net::Twitter->new(
    traits              => [qw/API::RESTv1_1/],
    consumer_key        => 'xxx',
    consumer_secret     => 'yyy',
    access_token        => 'zzz',
    access_token_secret  => 'aaa',

$nt->update({ status => 'Hello world' });


save this as and then run as 'perl'

And Robert is your father's brother.

Comment or email if you are doing something similar and would like help.

Tuesday, 28 May 2013

High level oasis diagram

To the right is a diagram of oasis' high level processes.
Currently working on the indicators (looking at log-gammas as well as optimizing current indicators), the Context and Calculate Indicators processes (putting into external C programs)

Sunday, 26 May 2013

Ubuntu 13.04, Oracle 11gR2, external C programs, OCILIB

Wanting to optimize the processing and so am in the process of converting the PL/SQL for the indicator algorithms into external C programs using OCILIB.

Because I am working away from my server at the moment, and in the process of setting up ssh, I decided to put Oracle 11gR2 onto my Ubuntu 13.04 laptop. This is not really an easy process, but essentially we have the Ubuntu 12 implementation here - except we no longer need the libstdc++5 library (the link is not valid in any case, but you can find these on the Ubuntu archive site if you search for libstdc++5 if indeed you feel that you need it). This process needs to be integrated with the following document here, taking into consideration that we are installing on a deb system and not OEL 6, the important pieces are the setup of the system parameters.

Be mindful that you should install the software only first using the above guides. After implementing both guides, run 'relink all' from the $ORACLE_HOME directory. Then run netca to create the listeners and dbca to create the database itself. Then redo the Enterprise Manager having first created a password file (this is important) using emca.

The chronological order of these is ultra important otherwise you will get an 'ORA-12547 TNS lost contact' error.

Then its a question of making sure that the listener is setup correctly, this guide will help.

Also you will find that the init'dbname'.ora file is not created in the dbs directory; copy from the sample and enter the correct info, comment out the audit lines, and put in the correct Control file information.

Then OCILIB setup, and allow external program access, full database access info "host:port/service name" for the OCI_ConnectionCreate function and Robert is your father's brother.

Then its compile your programs using the following options:

gcc -Wall cprog1.c -o cprog1 -I/usr/local/include -DOCI_IMPORT_LINKAGE -DOCI_CHARSET_ANSI -locilib

This gives me is a much faster turnaround time for the rather complex and long running algorithms on PL/SQL, and allows me to play with even more complex algorithms that I have been thinking about which necessitate the use of OpenMP which I'll describe in other posts.

Comment if you need help to do something similar.

Thursday, 28 March 2013


Of note, whilst we are waiting for ORE and HALO, are some current risers tweeted either yesterday or the day before:

SLG 41% today
VPHA 14% today
URA 12% today

One aspect to note from the SLG tweet is that the volume was 101 times the 3 monthly average volume, and currently today LSE is reporting 25m sells and 6m buys, with a 15% spread.

Friday, 15 March 2013




As you can see HALO's chart looks similar to ORE's and was also tweeted today, but with average 115.9% increase with a 7.41% spread at a current price of 27.5 and a fair cap of 7.5m GBP.

Meaning over the next 5 days we should see the price go to about 59.4, but our 11.5 % + 7.41% spread should take us to 32.7.