2009 Oct 26 - Mon
Machine Readable News and Algorithmic Trading
A-Team Research has released a special report called:
Machine Readable News and Algorithmic Trading.
I've writing some code to accept a news release feed from DTNIQ/IQFeed. This report comes in handy
for supplying some ideas on how to analyze and make use of the news feed. Here are some examples:
- When generating trading signals for high frequency traders and other alpha-seekers, it can be used to build sentiment measurement applications, stock screening applications and back-testing systems for trading algorithms.
- It can be used in support of market surveillance systems.
- This translates into simple stock-screening applications for individual securities or lists of stocks.
- It can mean the analysis of macroeconomic data to identify trends, correlations and other relationships.
- It can involve scanning key parameters to measure market sentiment.
- It could predict potentially volatile trading days, indicating which stocks or types of stock may be most affected.
- It can also be used to quickly derive directional signals from the marketplace, and set in play appropriate trading algorithms.
[/Trading/AutomatedTrading]
permanent link
Bottom Line on Security in Windows 7, and Some Thoughts on MultiTouch
From SANS NewsBites vol. 11 Num. 84, 2009-10-23, NewsBites editorial board member John Pescatore says:
From a security perspective, Windows 7 offers definite improvements
over Windows XP, but there is no major security reason to move to
Windows 7 before it makes business sense. The biggest improvement in
Windows desktop security comes from getting off of the IE6 browser and
moving to IE8 or the latest version of Firefox - and you don't need
Windows 7 to do that.
I've read that Windows 7 is somewhat faster but is better than Windows Vista. I havn't seen
definitive reviews that Windows 7 is faster than Windows XP, or offers anything useful over and above
what Windows XP offers as a development or user platform.
Well actually, I understand that Windows 7 has a multi-touch API built-in for when multi-touch devices
become more ubiquitous. 10/GUI is one such interesting multi-touch
method of CHI (Computer Human Interaction).
reacTIVision is an existing
tangible multi-touch interaction framework. I've always thought that using a multi-touch interface
with a DMX controlled lighting system would make for some very intersting busking capabilities for
live concerts.
Anyway back to Windows 7, the EE Times Newsletter roving editor Rick Merritt asserts:
That all Microsoft has done with Windows 7 is not mess it up. "Imagine the response systems makers might have if Microsoft had actually enabled some cool new ideas," Merritt writes. "Call me a curmudgeon, but I think Microsoft is resting on its monopolistic backside." What was needed from Microsoft, of course, was an OS that advanced the state of the art. This is not the time for tech companies to play it safe, especially a company with pockets as deep as Microsoft's.
On the other hand, if I took the time out to evaluate real life workflows in the new Windows 7 environment, and the execution time
differentials was minimal, I'd migrate just to stay with the latest thing. Some of the workflows I'd have to
check would be:
- Editing video with Adobe Premiere Pro CS4: lots of drive activity and lots of multimedia interaction
- Compiling heavily templated Boost supported C++ programs in Visual Studio: lots of CPU and some drive activity
- Compiling heavily templated Boost supported C++ programs in a an KDE/Eclipse/GCC environment hosted in a VMWare Workstation environment: lots of cross operating system calls
- Running trading and news gathering applications with intensive cross thread messaging: cpu and network intensive
Can anyone offer up opinions on what they've encountered between Windows XP, Windows Vista, and Windows 7 in these various
workflow environments from a speed/stability/effectiveness point of view?
Shortly after having written this, I saw an article published at Ars Technica which had a rather lengthy review regarding
XP, Vista, and Windows 7 entitled
Hasta la Vista, baby: Ars reviews Windows 7.
Buried further back in the article makes reference to the fact that performance isn't much different among the three.
The article does mention multi-touch, and indicates that it isn't very well integrated into the supplied applications.
Once I get some time, it looks like an upgrade to Windows 7 might be worth examining.
[/Personal/Technology]
permanent link
2009 Oct 17 - Sat
Trader Urgency Indicator
In the LinkedIn Group Automated Trading Strategies, Alpesh Patel posted a Trader Urgency Indicator:
- Fix no. of ticks based on market traded( Let's say 100 ticks chart for S&P 500 Emini)
- Monitor the time taken to finish the bar
- You will notice that most successful breakout bars will finish in significatly less time showing trader urgency
- At trend exhaustion you will notice significantly more time taken to finish the bar
I think I wrote about Range Bars at one point in time. This is probably a variation on that theme.
[/Trading/TechnicalAnalysis]
permanent link
Memory Leak Detection in MSVC 2008 C++
In Visual Studio, when building debug releases, I seem to recall that
memory leak detection was automatically enabled. In Visual Studio 2008, memory leak
detection is not automatically enabled. Code will need to be added to the source
files to make it available.
Memory Leak Detection Enabling
is a document in MSDN describing how to enable the ability. Basically, to enable the debug heap
functions, include the following statements:
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
Immediately before the program exits, include the following function call:
_CrtDumpMemoryLeaks();
One commenter indicates that this only works best with C code, ie, C code will
get discriptive comments, but C++ code will get cryptic memory reports.
In order to get the file and line number to work you need to manually redefine new in your code.
This is done by undefining new, and redefining it to point to the debug versions that take a file and line number.
During debugging, in Windows based applications, std::cout no longer sends text into the
IDE's Output window. Instead, the function OutputDebugString( "..." ) needs to be used.
[/Personal/SoftwareDevelopment/CPP]
permanent link
2009 Oct 14 - Wed
Boost BJam Updated
With the version 1.40 of Boost, library names are decorated differently. To keep the old style library
decorations and naming style, the option "--layout=tagged" should work. So from my
2008/10/10 Boost Build Article, my typical command line should be:
bjam --layout=versioned --toolset=msvc-9.0 variant=debug threading=multi link=static runtime-link=static stage
[/OpenSource/Programming]
permanent link
2009 Oct 11 - Sun
Traceroute Methods
Traceroute, in a nutshell, is about iteratively sending packets to the network
with specific TTL (Time To Live) settings. The first round of packets uses a TTL of 1. The second
uses a value of 2. The values are adjusted upwards each iteration until the destination responds,
or the maximum number of hops has been evaluated.
The traditional form of pinging is to send out an ICMP type 8 packet. There are other forms:
- Windows 'tracert' uses ICMP type 8 with incrementing TTL
- Unix 'traceroute' uses UDP packets starting port 33434 through
(33434 + - 1)
- TcpTraceRoute which
uses TCP syn packets to penetrate firewalls and NAT systems
[/Networks]
permanent link
2009 Oct 01 - Thu
Determining your Dominant Eye
When I was shooting video a few days ago, a couple of questions were going through my head. One question
was that of wondering if one should keep both eyes open when viewing through the view finder. If one
is to keep both eyes open, the second question to arise was: which eye to use? Is there a difference? Ok, three questions.
A brief search indicates that, in the world of archery at least, there is indeed a dominant eye.
There is even a page for
determining your dominant eye:
- Extend both hands forward of your body and place the hands together making a small triangle (approximately 1/2 to 3/4 inch per side) between your thumbs and the first knuckle.
- With both eyes open, look through the triangle and center something such as a doorknob or the bullseye of a target in the triangle.
- Close your left eye. If the object remains in view, you are right eye dominant. If your hands appear to move off the object and move to the left, then you are left eye dominant.
- To validate the first test, look through the triangle and center the object again with both eyes open.
- Close your right eye. If the object remains in view, you are left eye dominant. If your hands appear to move off the object and move to the right, then you are right eye dominant.
- One more alternative method is to assume the same position with your hands forming the triangle around the object and have both eyes open. Now, slowly bring your hands toward your face while continuing to look at the object with both eyes open. When your hands touch your face, the triangle opening should be in front of your dominant eye.
I'm guessing that one uses their dominant eye when using the view finder. I havn't answered the question
about whether having both eyes open is good or not. Having at least one open seems like a good idea, though.
[/Personal]
permanent link
Building Boost 1.40.0 on Debian Linux
Boost builds well on Linux. To get a clean build, I needed two libraries.
With Python already installed, I needed to 'apt-get install python-dev'.
The iostreams library needed the bzip2 libraries which can be installed through
'apt-get install libbz2-dev'.
After downloading bjam from sourcforge, my build then used:
bjam install --toolset=gcc --prefix=/usr/local --layout=tagged variant=debug threading=multi link=static
Instead of 'debug', 'release' can be used.
[/Personal/SoftwareDevelopment/CPP]
permanent link
|