Rocket science for the rest of us
StockWave™

Homepage > Latest News

Activity Log

1 March 2010

The 3D visualisation project has progressed to the stage where we can draw an interesting range of primitives to represent different types of data. Getting the interactivity right seems to be a difficult problem - you really need datagloves (or other pointing devices) with a speech interface to make it all "natural", but that will come some day (hopefully the current fad in "touch" interfaces will spill over into the third dimension) - but right now we have to be content with mouse and keyboard - it seems OK, so far.

There are other problems to be aware of, like rendering very large or high-dimensional datasets, but these will be tackled as they arise - the techniques to deal with them are known; for example you usually wish to get an overview of a dataset, then search or filter on certain aspects, then perhaps drilling down to microscopic detail - you may have visualisations for companies, various aspects of the business model, then down to individual people and so on even into their personal data and characteristics (a name, a photo, their home address, their masters thesis, GPS data from their car ... potentially, at least), plus a forest of relational connectives between all of these things; this is potentially a huge dataset - you can't simply load it all at startup and render it as you go in a dumb and simplistic manner. (We will add level of detail hierarchies and k-d trees when the time comes ... don't worry, we know what to do!)

There is thus a 3D browser application that has been developed separately from StockWave - the hope is then to "drop" it into whatever datasets StockWave generates. As a first step it could be used to generate concept models from the news archives, or interactive timelines or show the webagent as it spiders between websites. It is very general and is designed to allow practically any dataset you want to be visualised interactively.

Getting this to work further opens up new areas for analysis, e.g. a news concept model will help to build (or test the feasibility of) a "predictive news model" which we can then incorporate into the monte carlo simulations as a new kind of "noise" source.

And still there's more - the 3D stuff now gets put aside for a while and the StockWave project brought up to speed; there is much in this that has not really been tested in earnest - the datacapture and monte carlo algorithms were re-written to spawn more threads to use multicore systems (and to scale up as large or as fast as your hardware will allow) and the scripting should be a very exciting addition; it opens up the system to the full "algorithmic trading systems" people as well as allowing the less tech-savvy user the ability to "one-click" his way through many things; in retrospect, StockWave was a tricky application to use and could be off-putting.

1 September 2009 Processors and Benchmarks

One of the worrying things we found when creating StockWave was the length of time it took for the algorithms to run - at the time there were no multi-processors on the desktop and so it was a tough sell, i.e. the prospect of having the user wait some hours before getting a result; havng said that, the program had bags of other stuff which made it useful anyway, but the centrepiece of the analysis toolkit ... simply took too long.

Since then technology has caught up with us and our methods mostly take well to multiple threads and processors; once 8 or 16 cores are standard on the desktop I think this could lead to a revolution in online trading, vast new territories of trading possibilities could open up to the retail investor.

(To any of you that are curious - the advanced analyzers do NOT map onto forms which can run on the GPU, not even with CUDA, however the GPU will do basic random walks very quickly.)

The point I'm really getting at is - for us, getting what you want out of StockWave depends on what number crunching you've got available, for us, there is never too much, and corrrespondingly you need to be able to get the best bang for your buck computer-wise - the very top processors often provide only slighter better performance than their second-bests while being ridiculously more expensive; Intel's "Extreme" series processors come to mind here - you really have to be a more-money-than-sense stupid prick to buy one of them.

Actual performance results often produce surprises here - the number one rule about performance and optimisation, is to actually measure it in the first place; some people forget this (- the true performance determinators / bottlenecks are often quite unexpected). I have been using a benchmarking program - free 30 day trial - called Performance Test - it uses a large collection of real world benchmarks and lets you access their database of results for comparison; it gives breakdown of benchmarks for CPU / memory / graphics / disk / CD plus an overall figure. Note that the one most interesting to us is CPU, especially floating point performance.

The results are quite surprising in many ways - I present these as a list of miscellaneous observations without wishing to draw any premature conclusions -

  • The most basic observation is that the usual expected variational dependencies do exist, but are often much weaker than you might think they should be; but also, apparently similar systems with the same specifications - same processor, ram, graphics card - can vary quite a bit in performance among themselves! The practical repercussions are obvious here, both potentially useful and worrying at the same time - you could pay modestly for an apparent middling system which is in reality a real flying machine, or, pay well over the odds for a relative dud. With a few hours tuition and watching it done a couple of times, we could all, every one of us, build our own PC to our precise requirements, there's no real excuse for it except laziness - you want it quiet, or you want it fast, or you want it for games, or you want it just for web and email? Build it yourself!
  • Intel's chips fall into two main classes - "Nehalem", branded as i7, and "Penryn", branded as Core 2 Quad; there is a range of models, differentiated by clockspeed and cache size; i920 940 965 975 and Q8300 8400 9300 9400 9450 9550 9650. I will ignore older chips and anything with less than 4 cores.
  • Dear old AMD's best new chips are only getting to grips with Intel's older line - the Penryns, so I wont't bother with them; like lots of people I have a soft spot for AMD, they always gave good value and often beat Intel in performance, but now a gap has opened up - however, and this is very important to remember, AMD's chips are the best bang for the buck for almost all PC users; weirdos like me who want to do monte carlo simulations and manipulate large datasets are very much a minority.
  • The Nehalem class beats the Penryn class by significant margin, but there is a weak dependence within each class - "inferior" processors can often exceed "better" ones, or be easily overclocked to do so.
  • There is a weak dependence on clockspeed within classes - if you think the 3.2 GHz model will just "melt" the 2.4 GHz chip, it probably will, but not always, and the difference may be trivial anyway; it's a pity the faster chip cost 3 times the cheaper one!
  • The actual clockspeeds of each chip can vary quite a bit from what is on the box - e.g. my 2.66 is only 2.48.
  • Overclocking can make a huge difference - or almost non at all; this is one aspect that you would expect to find a nice linear relationship, but there isn't. Note that Intel seems to put in a lot of safety room for what it clocks it's chips at - a 30% overclock without much tomfoolery is relatively straighforward; Nehalems can go to 4GHz or better, and the Penryns to about 3.2GHz.
  • Higher-end Penryns can be overclocked into low-end Nehalem country, and
  • Low-end Nehalems can be overclocked to equal their top-end rivals.
  • Every processor is subtly different, a unique individual - some just come out superstars, while others are a bit "retarded", sorry "special", but not in a good way.
  • There is a weak dependence in going from 4G to 8G RAM; whether large amounts,16,24,48 give you anything is unknown; what is sure is that less than 2G is going to hurt you - this is the minimum amount for a modern system.
  • There is a weak variation between Windows XP, Vista and Windows 7 operating systems when using the same number of bits, but
  • The biggest surprise I found is that the largest single performance increment seems to be in moving from a 32bit operating system to a 64bit one; the XP, Vista, 7 dependence is tiny but from 32bit to 64bit is big. Naively you can see this is correct - you are shifting bigger chunks of data, it is more efficient hence faster, with less swapping to the hard drive etc.
  • ASUS seem to make good motherboards - they are well represented among the fastest systems in the database.
  • Dell systems are rather average performers - it's easy to buy from them and their support is great, but their PCs aren't flying machines.
  • The current value-for-money chip has got to be the i920 or Q9550, although the new i5 class may well muddy this. So, in conclusion the "sweetspot" would be a good Penryn (since the motherboard and memory will be cheaper), any 64bit OS and 8G RAM, with an ASUS motherboard; this is probably the cheapest, really fast machine you can build. The very fastest OS is probably 64bit XP Professional SP3, though I don't think you can get hold of it very easily.

BTW, if you like this sort of thing, then the AnandTech and TechReport websites are where you should be hanging out - for them it's a full time job.

Taking a wider view for a moment, I must say that for ordinary folks, performance considerations are totally pointless, and why do some of them overclock? - it's like boy racers modifying their cheap, crappy cars into ugly, lower, louder, cheap crappy cars. If all you need to do is to websurf and email then any PC will do the job well - it's the speed of your broadband that will be the limiting factor. And if you are a big gamer wanting to enjoy the latest eyecandy, then you should be spending your money on the baddest graphics card you can afford, with a nice large, wide monitor.

Looking forward to my next trade-up, I really like the look of the Dell T7500 workstation with the dual sockets, the tech geek in me drools slightly over those xeons - 8 cores with hyperthreading ... mmmm (sounds like homer simpson contemplating a hot dog) ... on the other hand the cynic and the skeptic in me, who are disgustingly, almost unerringly correct in their every judgement and prognostication kicks in here; aren't "Xeons" just a marketing brand-name, a ploy to get corporate types to pay a premium for "server/workstation class" chips? Consider the long running outrageous scam that operates in the graphics card market for "certified" cards like Quadro and FireGL - isn't it just the same? Let's check the figures on the database - dual xeon system at 3.2GHz is around 16000 on the CPU mark, my humble Q9450 is 3500 (though some systems have been scored about 5000) - let's be generous and say the top of the line system will do 5 times the work of my current one, but costs, alas about 10 times the other one! In terms of doing StockWave number crunching, it may reduce an analysis runtime down from half an hour down to 5 minutes - but that could be worth quite a bit of money as while you were waiting the extra time for your full analysis, the prices could have moved a lot against you. Which is all very interesting - these "value for money" questions have to be settled from a global view point; if it's the difference between profit and loss, the very fastest chip may pay for itself, easily!

8 June 2009

Numbers, even after much crunching, don't mean much - that's why we need graphics or rather visualisation to help us "understand"; the heatmaps in StockWave show time dependent probability distributions for where the share price might go, a lot of numbers condensed to a little picture that tells you what you need; the news-chart and event stream shows stories alongside share price moves and also gives an indicator of the news sentiment at the time; these straightforward visualisations seem to do the trick, but what happens when you've got some arbitrary, crazy, data-set that you might hope has some useful information buried in it - what happens when there is no clear way to look at this data, no obvious approach?

The new feature we are working on is a generalised solution to the data visualisation problem - for any old weird set of datatypes, in any number of dimensions; to create a 3D picture which generates itself automatically from anything you stick into it and then lets you explore it, tune it, morph it into something which lets you extract useful information. Then once you have something which you like, graft onto it the standard types of algorithms that will work on particular aspects of it - stick a kohonen map here, do a k-means over there, run an SQL query on this, and tie it together into a hidden markov model; whatever you want, totally open.

So, obviously we have to do 3D graphics - this is just a matter of being clear what you are doing, refreshing your vector and matrix maths, and at all times remembering what direction is up. Still, your debugging sessions can be very invigorating.

Graphics cards these days are incredible beasts, capable of incredible fill rates and polygon counts, but all they are really doing is drawing texture-mapped triangles - that's all you really need to know how to do.

One has to make a choice about what to use as a rendering library; for some time now games programmers have been using DirectX / Direct3D almost exclusively, but their concerns - to get the latest hardware shader special effect working - are not ours, which is a good thing, as I think DirectX is based on COM (- the underlying design I mean), which is not a good thing. The other way to go is OpenGL, which we have some previous experience of, so that's that then!

On the face of it, OpenGL seems like the best choice for us - it is open, and well-supported, and all those touchy-feely good-time things and it seems quite straightforward if you've done a computer graphics class. But it is very low-level, and frankly, I hate it. What you have to remember that it is designed as a State Machine; this project and most large projects these days use object-oriented design principles - it just doesn't go together naturally, so not only do we have to use OpenGL but we have to create an "object-ified" wrapper for it.

Of course there are plenty of 3D engines out there - too many, with every variety of sophistication - but none of them seem quite like what we need, and when you use these you often have to include practically "the kitchen sink", and still need to do a bit of hacking to make it fit.

State machines are annoying to use when in the "object" mind-set as you must never forget that the order of operations matters, and when you set a switch it stays on until you reset it - it does not reset once you leave the current scope; if you have a black screen, or funny colours which change unpredictably, or objects which translate oddly or rotate about odd vectors, textures which disappear, or the wrong textures on the wrong objects, then it's all because you've probably done something and forgotten to undo it, e.g. that classic of Opengl newbies, forgetting to pop the matrix stack.

The documentation is not as good as you might think - the "Red Book" (now availabe for free online) contains lots of examples, but they contain very -simple- examples only. There is no advice on design, on how to use OpenGL within a larger project - no "how to put it all together", certainly nothing on making OpenGL into an object design.

Obscure problems, things you would never imagine, and answers to which can only be found on the newsgroups - are quite common, e.g. some commands don't work inside others, or need to be done in a certain order (!), otherwise they don't work; this can lead to mammoth debugging sessions with oodles of trial and error - this kind of grind makes programmers very depressed.

I am proposing a new marketing slogan to the Open Standards Group people -

"OpenGL - not quite as shit as DirectX"

On a completely different matter, I seem to have lost access to the company email accounts - Doh! - I will set-up a gmail or yahoo alternative as soon as I can, not that there's much to really talk about in the immediate short term; scripting and Python is in, which I think will really open up the system for people, but there is loads of testing to be done, as soon as this 3D stuff is ready.

Update on the hardware problems - if you have had problems with the firmware bug on your Seagate Barracudas, Seagate will fix them free of charge; they won't exactly track you down and do it for you, but if you logon to their i365 site and check the serial nos, you can open up a recovery case and they will fix the drives and ship them back to you in about a week. For free!

22 March 2009

I have just noticed something interesting about the news event analysis tools - they seem to work better than expected! In the documentation there is some description of them, plus the usual caveats about it being an experimental feature, well, some way down the road, and with quite a lot of news stories in the database, I have been creating news event streams, i.e. "market sentiment" indicators for various stocks. For the FTSE 100 it seems to give a good leading - yes, a leading - indicator for trend direction; it runs about a month ahead, but note that it is changeable and is prone to whipsawing around, neither is the news model in any way predictive (- more on that later). Still, that's not bad for a "side dish".

I'm going to try and push on with the "super web agent" next - this is a web agent which can, while it is spidering, suck out all the goodness - names, people, companies, organisations, events, states, and show it graphically. This will have a lot of practical use I think - being a great user of the web it is very frustrating just how much crap there is to dig through and how low the signal to noise ratio is.

The fundamentals database can go on the back-burner for now; fundamentals are fictions anyway as the latest round of swindling has shown - all these companies going down the stank had their accounts signed-off true and proper, and their debt all rated AAA; data as corrupted as this cannot be data-mined for anything worthwhile - it's like building a house on quicksand. Companies go to great lengths to create useful fictions about themselves - so it must be the side channels we need to examine to get our "information leakage" and any signs of anomalous behaviour - which is better suited to the web agent.

17 March 2009

At the risk of this becoming a blog, a literary form I detest (- if you can actually write, then go write a bloody book) I need to vent and blow-off a little. Firstly, some product reviews -

Fancy new PC has had two Seagate Barracuda 7200.11 drives fail on me - one after 1000 hours the other after 700; given a claimed MTBF of 750000 hours this is "impossible". Dell support is not up to much, "next business day" ends up as "one week later"; talking to them is like conversing with polite but rather slow 12 year olds (- who can be scary smart at times!); you need to tell them 3 times to do something, then they phone you up to confirm it; not too quick at answering emails, and not too good at giving direct answers. While waiting, I just ordered a new 1T Hitachi drive from Misco, got it next day, and was back up and running in 4 hours. How hard is that?

The hard drive failures made me look into disk cloning solutions; Acronis True Image, which is incredibly highly rated over the web-o-sphere (- by the company's shills?) is the most useless backup and cloning software there is. Don't take it even if offered it for free. (I returned mine for a refund.)

Opentick has gone and done what I guessed they might do. Shame I've now got a ton of their API calls in my codebase, but who knows, maybe one day they'll come back. Taking a wider view, looking back, it simply didn't make sense - how could they make money on this, if it was not for some other reason? The reason seems to be that the whole enterprise was a large-scale beta test to iron out the bugs in their real product, Xasax. Question: will all that dormant Opentick code be able to interface with Xasax?

How StockWave will support datafeeds in the future is thus - not at all; really I just can't be bothered. OK, actually we will, but here's how - you get the standalone feed reader application from your supplier, then you phone their helpdesk and ask how to export data in CSV format, if they get suspicious, tell them you want to put it in an Excel spreadsheet; they send you a script which can do this for you. Now you email us, and we show you how to create a "FilePriceSource" - this will read in the exported CSV text files on a periodic basis. Voila! And no messing around with their APIS, DLLs and signing NDAs. Our hands are kept clean, and a hundred hours or so of developer time is saved for something worthwhile.

My "can't be bothered" remarks point to something of a deeper malaise; fact is folks, programming is ... shit. Yes, honestly, it is. Not a good career, a refuge for second rate intellects who think they are the cream of the crop; a lot of social inepts and aspberger freaks. It is only bearable, if you are working on your own project, which has some potentially deep or important innovation. Software such as this cannot be effectively project managed - it is similar to blue-sky research, and has payoffs, if any, which are highly nonlinear and unpredictable. It's a tough gig just to keep going.

There is a highly rated programming blog which is obsessed with the idea of "rock star programmers" - this is a risible concept; if you are working in a corporate environment, for someone else, then, by definition, you cannot be a "rock star programmer". You are a maintenance programmer with a nice-sounding job title. No genuine "rock star programmer" would ever call himself such, wish to be, or seek to be known as such; they are also pretty-much un-hireable as they simply will not do other people's tedious shit.

(I am not a rock-star programmer, I am an independent scientist who does a bit of "karoake" programming on the side; programming is not creation, it is implementation, something the hired help does. And when the hired help is not available, you have to roll your own sleeves up.)

Getting the latest StockWave out has been hard as there is a lot of "tedious shit" to do - no big issues, no design innovations, no novel algorithms, just fiddly crap. And herein lies the real problem - we have another project on the go, it is very open-ended and wide-ranging (- it will feed back into StockWave eventually) in the general area of information processing, and equally importantly, visualisation; a lot of effort has been spent on this, for no visible benefit as yet. But the other project is a lot more interesting at the moment as StockWave is quite mature.

Must stop this, starting to moan like my old Aunt Nelly.

5 March 2009

Normally I don't bother much with what other people are doing; let them - so what if they say this, or claim that, but recently I've been looking at a number of websites for trading software companies for comparison as our site needs a bit of a revamp; it's too dark and forbidding. Obviously these guys are all furiously hype-ing their wares, as is their right, but some of the claims they make are really annoying, as the gap between their claims and the reality is often a mile wide. Naming no names, to protect the guilty.

Practically everyone claims to offer "advanced analytics" - what does this actually mean? For example -

  • Do you have monte carlo simulation?
  • Do you have machine learning algorithms?
  • Do you use signal processing?
  • Do you have news event analysis?
  • Do you have specialised web agents to seach the web for you?

No, none of the above - what you really get is a few dozen technical indicators drawn on your chart; this is not "advanced analytics" - this is technicolour voodoo for the self-brainwashed hopeless optimist.

"Datamining" is another popular buzzword they like to use -

  • Do you get advanced visualisations of high dimensional datasets?
  • Do you have pattern extraction techniques to identify signals of good and bad companies?

No, they have a very basic scanner which can pick out certain stock criterion like market capitalisation, PE ratios and volatility; this is not datamining it's just an arbitrary pre-selection.

Everybody is into "advanced trading sysems" as well, but - is this a customised probability model which can search for specialised and novel trading opportuntities?

Again, no - it's a formula editor with a backtest facility; this is not an "advanced trading system" - it's simplistic guesswork and a "wet finger in the air".

An "easy-to-use programming interface" - well, you just have to have one of those now, don't you!

So, does this API use one of the most popular and powerful, loosely-typed scripting languages, which most people can get up to speed with in under a week, and is freely available with many supporting libraries?

Er, yet again no, not really - it is instead our own custom language which we have invented all by ourselves just the way we like it - with a mass of idiosycrasies and unfamilair syntax, all inspired by the company founder's notions of just what good coding style really is (- because he was a real cool cobol coder-dude or was a visual basic "guru" in his pomp); also comes with a boatload of bugs and library interdependencies to test you with, and all guaranteeing in the end, that no one but us will ever use it - that way we've got you forever!

Somebody should get these guys under the Trade Descriptions Act.

not-really-sure-what-day-it-is, January 2009

Happy New Year to everyone! And Merry Christmas before that, as well; our turkey was moist, and our kapitan, our glorious leader, well-pleased with his gift, a pair of Oakley sunglasses to hide his eyes while he tortures us to higher productivity at Stalag StockWave. (- that's enough of that! Mocking sarcasm, 5 seconds into the New Year. Hmm.)

What's been going on, in no particular order, or even logical structure -

Teletext is I think by now mostly kaput everywhere, goodbye little friend! The code to use it is still in there, so it will still work if the service is available and you have WinTV/VTPlus installed, but please don't send us emails asking why things have stopped working - it's the governments doing, not ours. Write to your MP - try sending him anonymous threats - it's always worked for us!

Have added a treeview component to the main form as well as the usual scrollable grid; this took a little bit of time to get working, and it does look OK, but it does make the user interface busier, and on reflection, it adds absolutely nothing that the user really needs; make a mental note here - do not add pointless eye-candy which just "looks kewl" without a good functional reason; remember this the next time someone wants to be able to dock all the application sub-forms into the main form (- what a bloody mess that would be! If you're a "docking junkie" then try Eclipse.)

Being megalomaniacs at heart we'd like everyone to use our program - and for everyone to use "StockWave" as a proxy phrase for "trading software" just like the way, back in the day, "Hoover" was synonymous with "vacuum cleaner"; to have a chance at this you have to cater for the needs of folks in "other countries" of course, now while China and Japan would be too much of a stretch, we did try to get India and Australia covered; not sure it actually worked though, probably down to glitches in timezone handling code and rules for daylight saving time. Now, you might think we're idiots for having trouble here - surely you just read it from the system clock, and take a bit away or add a bit on, well, to use a wonderfully crazy phrase I heard only recently : "in theory, theory and practice are the same, but in practice, they are different". Anyone actually living out there, genuinely trying to use StockWave, give us some feedback please. Obviously there a lot of potential users out there for us - intelligent, well-educated, English-speaking folks, ... and Australians too, and we would like to reach them.

Finally, moving to proper source control, which should allow us to be a bit faster and more aggressive in our work. Note to young developers out there - winzip with a timestamp is not source control.

An improved form for displaying option chains has been added - it can also download these from Yahoo, furthermore the option prices can be shown on the stockchart as well which is nice. We have also created an on-chart visualisation of level 2 data - this lets you see individual orders and fills "dance around" in realtime, alas we don't have a level 2 feed to test it with! (God, we're so stingy ...)

WTF is happening with opentick, we ask ourselves? When opentick started to offer free non-delayed streaming data we thought "Wow, let's support that - just what the world is waiting for"; downloading their libraries and API we were further thrilled to see that the programming interface is a thing of clarity and simplicity, which is not a small issue; other providers' APIs typically induce mental torment, they also charge you an arm-and-a-leg, and also make you sign ridiculous NDAs to stop you "stealing their trade secrets" (- like what?! - reading data through a socket in a thread ... no one's ever seen that before - better patent it quick!); generally they act like they're doing you a huge favour. Supporting lots of feed providers means writing the "same" code over and over again each time dealng with the often bizarre and peculiar idiosyncrasies of their APIs, then keeping up-to-date with their frequent and often arbitrary changes. This leads to major code bloat, is a maintenance nightmare and leads to significant customer problems as the public can get -justifiably- very irate if their feed goes haywire, which is always seen as the application developers fault and not the feed provider - since "it worked OK on my other software"! Then they log on to some traders website and trash you mercilessly. But then Opentick came along - seeming like a breath of fresh air, a clean design and free apart from exchange fees (- a few bucks!) - it seemed like a new dawn.

Anway, we quickly knocked up a standalone grid-view based downloader, and it worked really well, we even put flashing red and green backgrounds for price direction when updating (- woo hoo!); this was quite groovy in itself, but it never got put in to StockWave down to what I would call "niggles" - little bugs we couldn't get to the bottom of; rather than get sidetracked by a side-issue like this we got onto other more important things (- sometimes in these situations, it resolves itself, or the solution suddenly becomes obvious). This was well over a year ago; we've only recently integrated the opentick downloader into StockWave, only to find it doesn't work at all now - we logon, get a few messages, but don't receive any ticks, then the connection breaks after a while (- yes, the test account we are using is still active ... thanks for the suggestion!) Have contacted them about this, but there is no apparent solution.

Opentick are owned by a company called Xasax, their prime interest is in really high quality, high frequency fault resistant datafeeds and order routing (- impressive technology using custom hardware and specialised chips, i.e. FPGAs) - it's designed for the next frontier, the remaining undiscovered country of trading - high-frequency algorithmic trading; you are reading data at the sub-millisecond resolution, doing some analytics, then maybe making dozens or hundreds of trading decisions on this per second; this is way beyond any human decision making. There are quite a few companies investing in very expensive, high-bandwidth "plumbing" hoping to give themselves an edge; at very high frequencies you are hoping that there are numerous inefficiencies which you can exploit with some relatively straightforward algorithms, but if you can also gain an edge by getting your price quotes a fraction of a second sooner than the next guy, or can find a price improvement at execution time ... that also helps. A lot.

Xasax product does not seem to be available yet, but don't hold your breath little "retail investor" because it will be stratospherically beyond your price range; opentick stopped taking on customers a while back, and so it might all have been just a hobby for them - a kind of "big beta" experiment to act as a testbed for the "real deal" which people are going to be paying for; presumably once the big-paying real customers arrive, opentick might be allowed to wither on the vine - which would be a real shame. Let's hope this is not the case.

A few words about this high frequency business, and why the retail investor shouldn't worry about it (- too much ...) - high frequency is not and will probably never be available to the ordinary investor - this is big boys' toys for big boys' games; it's just an arms race in trading technology infrastructure, which will probably end up in a stalemate. Market regulators ultimately must ensure that the playing field is (somewhat) level. Note also that at such high frequencies, you can't do much in the way of analysis, certainly not the deeply multi-faceted monte-carlo based processing that StockWave does, it's simple stuff running really really fast fast FAST. I would rather make fewer trading decisions based on a deeper analysis than lots of fast ones based on some simplistic scalping technique which to work needs to have a speed advantage over everyone else. And for the trading to become fully automated - I just don't like, the human being should never be taken out of the decision making loop; human beings have "common sense" and intuition, they also are implicitly aware of context, and are good "bullshit detectors". Proponents of high frequency would argue that at short enough timescales things will become simpler and that the "fusionist" philosophy of StockWave is not required.

Multiple core processors are now fully supported in StockWave - we always had extensive use of threads, but now we can spawn even more "worker threads" depending on how many cores there are available - this allows us to take full advantage of the hardware. We've got a new machine to test this, a Dell XPS430 - a very sweet machine, at a good price; it's fast, very fast, even though it's not even the latest Core i7 processor, but "only" a Core2 Quad Q9450; a full StockWave build takes only a few minutes. Other observations of potential interest; Windows Vista (Home Premium) seems, ugh ... "quite good", I hate to say (- I'd have had XP installed by default had I the option), still it would be madness to install it as an upgrade on an old PC; if you are a trader than 23" or better widescreen single monitor set-up should be good enough for you - multiple monitor configurations will go the way of the dodo. Anyway, the main thing is that our monte carlo goes like the clappers - it's great to see the algorithm start, ramp up the cores to maximum, then crash back to idle.

Python and scripting - getting there, but there's something I need to do with a library called SWIG.

There loads of other stuff still to be tested and integrated.

Have also been thinking about adding more content to the website and help files - the glossary in particular has grown into a collection of mini-essays, originally it was conceived as an antidote to the usual "explain it but tell you nothing" guides you often come across, hopefully delivering its insights in the guise of an acerbic one-liner, but some things need a bit more explaining, and some things shouldn't really be joked about, even if your humour is blacker than the inside of Satan's coal scuttle (- which ours is). And since everything affects everything else, we need to look at wider issues - the danger here is descending into "punditry", i.e. lazy, opinionated, self-serving wind-baggery (- think of all these experts currently being wheeled out to explain the complex details and reasons behind the ongoing market turmoils - a year ago most of them were probably saying the "fundamentals of the world economy are sound", and we should all just buy, buy, buy. Arseholes.)

Despite being locked in a lonely garret we are in conversation with users from all over the world; we get some truly interesting emails from some very intelligent folks and also some hilarious bollocks from real crackpots - both types of conversation are worthy of a wider audience, so they might get put on the website.

1 June 2008 Oh dear me, is that the time ... ?? What have we been doing!

Apologies for the current tardiness with regards to our email correspondence - work comes first but we're trying to respond to the backlog. Please be patient.

This is just an update for all our avid fans out there especially the Singaporean who looked at almost every single page on our site the other day - "big-up" to you (- just a wee hint though : the freebie download has all the documentation already with it!)

Interesting times re: the (various) market turmoils - we hope that no one got badly burned out there, still has a house, and money for the meter; of course we would, rather arrogantly, hope that having read some of our screeds you may have been a little forewarned, and therefore cautious in your dealings - the markets are intrinsically unstable and will fall apart, irregularly, every ten years or so, but only the big guys get the bailouts, so "Little Man" be-ware; and note also that this situation will continue indefinitely, or until some form of socialism is adopted in the major western economies, staring with the USA ...

(fits of giggles, rolling around laughing, biting the carpet, tears rolling down cheeks)

- pardon us, but we do like our little jokes; the facts are we're all stuck with capitalism until we die ... that's just the way it is (- of course, all of these corporate and banking bailouts are a kind of "welfare-state socialism for the rich", but that's not what we're really talking about.)

So where are we, exactly?

Technically, we've been laying the foundations of "future plans", basically it's coming together, and crucially, everything planned is do-able - and will be done, eventually. Specifically -

  • Opentick support will be in - but there no plans to support any other feeds; we became physically ill looking at the API documentation for some of the most popular feed providers, and our teams of lawyers fell asleep while reading their various NDAs.
  • Scripting with Python. Yup.
  • Moving the underlying data management to a database, probably PostgreSQL, but that will be left open, architecturally speaking.
  • 3D visualisation stuff ... "getting there"
  • in particular, the confusing mess that was the TradeCreator form has been cleaned up, becoming "almost usable"; in a way, this was the crux of the application - to find custom, specifically-crafted, probabilistically-optimised trading opportunities - the fact it was so hard to use was a little embarrassing.

Commercially, we are going for a change of tack; getting rid of "basic edition" and "advanced edition" - never liked all of that nonsense, same goes for version numbers, 1.2,1.42,1.7833537.839393 build 28782738237 - oh dear lord almighty ... give it a rest!

There is only one product, it is called StockWave -

  • it is not free anymore, but
  • it has a generous trial period, and
  • it is very inexpensive if you want to buy it

There will be an "uber-StockWave", not generally available to the public, which will be our own research and trading/testing platform; it will contain things which are unproven, untested, hard-to-use, or computationally so demanding as to be outside the utility of the general public; we might sell you this version if you really want it, but it will be expensive, and we won't be supporting it; leading edge, or bleeding edge, it's experts-only with fat wallets.

Note that StockWave will be almost exactly-the-same as "uber-StockWave" except for the things which you probably can't use effectively anway, i.e. - it will not be "hobbled" to the extent that Basic Edition was compared with Advanced Edition.

There is still a planned "big test" to do - the good news is we don't need investors anymore as now, e.g. an 8-core machine can do an advanced analyzer in about 10 minutes! We thought we needed £50K+ and 4 months, but we can probably get by with £10K and 6 months; it has also been brought to our attention that "cloud computing" is now available with the (back-of-an-envelope calculation) capability to do an advanced study in 2 minutes at a cost of 17p! Which is something to think about ...

Website will be updated - the lack of proper online shop is, really, a bit of an embarrassment, and the use of mail order makes us seem like a bunch of scammers (- BTW your legal consumer protections are probably at least as strong with mail order as with online credit card payments, at least in the UK.)

(hi ho hi ho ...)

20 January 2008 Garbage In, Garbage Out; one of the good features of StockWave is the free high frequency historical price data - to get this we have to aggregate it ourselves from multiple sources, alas, it has been pointed out of late that the data is getting a bit ropey due to mismatches among the end of day and intra-day stuff - this is due to stock splits, reverse stock splits, various adjustments, bad reads, etc and so on. Look at ANTO and BARC for some chart-silliness.

There are tools within the program to maintain data integrity, and we could tell you how to go about fixing things when you come across a crazy chart but rather than bore or alienate our users ... we're going to just fix it ourselves.

To get the best available data when you open a chart go to the first drop down menu and 'download intra-day prices from web'; this will be the best available but if it still looks crazy then email us.

Since we are going through this lot by hand it might take while - 1.5 was to have the nifty and opentick feed support plus updated stocks lists - but we shall have to fix this first. When we're done we'll release a 1.42 version in the interim.

10 January 2008 Analogue signal turn-off; the UK is turning off the 'normal' TV signal fairly soon, which means that it will no longer be possible to get share prices (cheaply!) from teletext, thus this feature will be removed. We could investigate the possibility of looking at the data services provided on digital TV, but we aren't going to bother, as it seems almost all users are relying on Yahoo for streaming prices and our own backfill service. Ho hum - it was a nice, cheap, facility while it lasted. If anyone thinks getting data from DigiText is a good idea we might reconsider, but in the meantime, we'll be working on other stuff.

1 January 2008 Investment Prospectus

StockWave Software Ltd invites approaches from investors and potential business partners.

StockWave Software is a small software company based in the west of Scotland; it is employee-owned with no debt; it has developed a highly innovative product for stock market data analysis using a synthesis of advanced scientific techniques. (The designer of StockWave holds advanced degrees from respected universities and has extensive work experience in high-tech engineering and software development.)

Our original intention was to provide scientific tools for the mass market of private investors but up against a mature market dominated by data-feed providers' packages and brokerage platforms, our success has been limited; a further problem for us is that our target customer market, the retail investor, is wedded to "Classical Technical Analysis" which he seems loathe to give up.

Commercial realities are that marketing to the masses is prohibitively expensive requiring a dedicated full-time sales team plus support staff, trainers, materials and advertising in print and web; although our - relatively feature-poor, freeware Basic Edition has found approximately 10000 users, this has not proved to be a bridge to Advanced Edition (- our full featured product) - the transfer rate is too small to be viable.

A different approach is therefore needed as alas it seems we cannot reach the "man in the street" (- please note that this "different approach" will not involve altering our product to meet the whims of dyed-in-the-wool "technicians") - we intend now to market StockWave as a niche software product to various financial experts and professionals such as quants, analysts, fund managers and professional traders. To be convincing to such skeptical and highly critical persons, we need to do a large-scale, statistically significant test; 4-6 months to map the sweet-spot of our advanced algorithms, and another 4-6 months to trade a typical portfolio.

Investment is thus required to purchase the necessary hardware to conduct our tests.

What we offer - appropriately, for what is, after all, a derivatives analysis package - is a Call Option, giving the holder the right to buy a large equity stake in StockWave Software Ltd for a very low price at a future date. This call option will be 'European-style' with an expiry date one month after the test results have been presented; the option holder will get a first, and exclusive, look at these results.

The premium paid for the call option will be used to purchase hardware; since we have a rough idea of what we need, and the target timescale for doing this study, we do have a ballpark figure in mind for the sum required - prospective investors should be able to work this out themselves, but we shall not mention any figure explicitly. We should point out that the figure required will be a modest amount to anyone we would see as a viable investor. Any early bid which significantly exceeds our reserve will be accepted as we want to get started as soon as possible - otherwise there will be an auction.

Further Notes

StockWave may contain patentable technologies, although we have made no study of this, we are confident that much of what has been done is innovative and unique.

For the above reason we cannot go into too much detail in explaining our ideas to prospective investors - we mention (some of) the ingredients, but not the recipe itself; having said that, our documentation and help files already contain as much information as we are going to provide to anyone - we would therefore encourage any potential investor to seek independent technical experts who can make some reasonable critical assessment of our approach.

The true value of our software may not be to private investors with their relatively limited computational resources but to, e.g. hedge funds or other large organisations interested in high frequency trading, statistical or event based arbitrage; StockWave is already multi-threaded and is scalable.

Advanced Edition may be removed from sale for the duration of the testing period, if so requested.

31 December 2007 This fruits of this year's technical development and new features will be drip-fed into StockWave over the coming months on a bi-monthly cycle going up through versions 1.2, 1.3, and 1.4. A 2.0 release will be made 6 months later. Advanced users will be afforded free uprades through 1.2 to 1.4; 2.0 will be a new product requiring a separate license, although existing users will have 50% discount.

19 December 2007 Merry Christmas and Happy New Year! We're shutting down over the holiday period, so see you in 2008.

1 December 2007 We found some old demo videos lying around - the quality is not good, and they are rather large, but they could be of help to anyone who is having trouble and is too shy to send us an email. To download these to your hard drive, do a right-click and then "save link as".

Advanced Filtering
Random Walk
Chart Analysis
News on Chart
Old style technical analysis. Bleh.
Main Window
Market Summary
Option Prices
Portfolio
Stock Chart
System Manager
Using the built-in Help.

29 October 2007 Basic Edition 1.41 released - this is a minor bugfix version.

28 September 2007 6000 users of Basic Edition.

27 August 2007 We've fallen a bit behind on our intended release schedule for Basic Edition 1.5 and Advanced Edition 1.2 - this is because everyone is just back from/on/just about to go on, holiday and those that are here want to work on the groovy stuff outlined in the Future Plans section of the site. We shall be cracking-the-whip soon though.

Monday 16 April Get the updated datasources from here; unzip the file to your install directory, your old datasources will be over-written. Any problems, send us an email.

Friday 13 April 2007 Black Friday Fun! Yahoo seem to have changed their time formats, outputting everything in Eastern US time; fix applied locally - updated datasource files will be available for download on Monday; backfill will be available as usual. This brings us neatly onto discussion of Basic Edition 1.5 - we have decided to support the OpenTick datafeed; if you don't know what this is, it is a FREE (- apart from exchange fees which are nominal for non-professionals) realtime, non-delayed tick datasource, including such excellent things as option chains and Level 2 data. We also intend to add the "Nifty" stocks from the Indian stock market. Advanced Edition is also undergoing a mild upgrade to version 1.2. Release should be around the end of May for both versions.

12 March 2007 Changes to daylight saving time in the US have caught us out!

10 March 2007 3000 users of Basic Edition; keep the feedback coming.

26 February 2007 Basic Edition 1.4 released; includes stocks for Indian and Australian stock exchanges; major new feature is the Option Strategy Browser.

1 January 2007 Spammers have started sending out emails using our domain; please ignore any unsolicited emails - they are not from us; we do not market ourselves in this way, and in particular we do not tout stock market tips.

15 November 2006 Preparing Basic Edition 1.4; we have had requests for support of Indian Stocks, so we shall we be offering Bombay Stock Exchange BSE and Nifty stocks in our next release, as well as updated stocks lists for all other groups, which we admit are a little out-of-date by now. 1.4 should be ready mid-December.

1 November 2006 Basic Edition 1.3 Minor bugfix release. We now have over 1300 users of our Basic Edition software - thank-you all, and please do not hesitate to offer feedback!

21 October 2006 Basic Edition 1.3 in preparation. Would the people who have been trying to download the advanced edition by pointing their browsers at http://www.stockwavesoftware.co.uk/download/install_stockwave_advanced_edition.exe and variations thereof, please note that the advanced edition is available by MAIL ORDER ONLY; it was hoped that online purchase via credit card would be available by now, but there appears to be a real problem with the "website guy" - it could be an extended holiday, a nervous breakdown, or a terminal case of asshole-itis ... no one knows - we seek him here, we seek him there ...

25 September 2006 Upgraded Basic Edition released - now at version 1.2; this is a collection of minor bugfixes and enhancements; some controls have been moved for better accessibility.

19 August 2006 New Contact page added, as the old one was a bit too complicated and er, ... rather crap.

18 August 2006 Installer glitches found in Basic Edition 1.1 - many apologies folks; now fixed, but if you are having any trouble at all, please email me direct at help@stockwavesoftware.co.uk

5 August 2006 Upgraded Basic Edition released - this is now version 1.1; new features are free streaming prices from the internet for UK, US and EU (- NB this is 15 minute delayed), and a 'Classical Technical Analysis' package for those of you who like that sort of thing. Windows 95/98/Me are no longer supported - the program should still work, but we are no longer specifically supporting these OSes.

21 July 2006 Minor visual alignment problems found on Basic Edition when using high screen resolutions (1280 by 1024 and above); fixed.

19 June 2006 Installer program can now handle non-standard Windows partitions - for those of you who have windows installed on your "O:" drive.

6 May 2006 Basic Edition installer re-instated; please contact if you have any problems with the installation process - please note that under Windows XP you may need to have Administrator-level privileges enabled.

30 April 2006 Added web-update for users of Basic Edition (- i.e. 'backfill' capability); this means you can now download FREE historical intra-day price data (15 minute resolution) for use in your analyses. This data will be updated weekly.

29 April 2006 Bug reported in Basic Edition installer; removed temporarily.

14 April 2006 Online, at last!

 Bookmark this page       Email this page to a friend

clyde internet media™  Copyright © 2010 StockWave Software Ltd. All Rights Reserved.