jump to navigation

Swinging the AXE January 21, 2008

Posted by James Webster in : finance , 1 comment so far

Despite statements on their homepage that they anticipate commencement of operations in mid-2007, AXE ‘The Australian ECN’ does not yet appear to be actively matching buyers and sellers in competition with the current central exchange the ASX.

So, in review of what has happened so far…

On Monday 23 July 2007 ASIC’s original consultation paper (CP 86: Competition for market services - trading in listed securities and related data (pdf)) sought the market’s feedback on three principles:

  1. Competition for market services is desirable because of its potential to:
    • reduce transaction costs and increase efficiency;
    • cater effectively for different trading preferences of market participants
      and promote flexibility; and
    • create incentives for innovation in the provision of market services.
  2. Competition for provision of market services should not result in the decline in the existing quality and integrity of the market for the securities that trade on more than one licensed market;
  3. the regulatory regime should take a light and efficient with respect to competition.

An interesting tidbit in the consultation document (p. 15, para. 45):

More than 30% by value (and 7% by number) of trades in ASX-quoted securities takes place other than through the CLOB (Central Limit Order Book). 16% takes place off-market, and 14% on-market but with departure from the time priority normally given in the CLOB (sourced from ASX data). That is, ASX’s centralised market has already adapted to a significant extent to the needs and trading preferences of its customers.

Also in the supporting report prepared by CRAI (pdf) for ASIC (p. 14):

For clarity, it is worth noting that the AXE platform does not conform to how the term “ECN” is commonly used. The US Securities and Exchange Commission (SEC) has defined an ECN as “any electronic system that widely disseminates to third parties orders entered into it by an exchange market maker or over-the-counter (”OTC”) market maker, and permits such orders to be executed in whole or in part”. The definition specifically excludes internal broker-dealer order-routing and crossing systems, that is, the types of systems that appear to be considered here.

Upon the closing of the consultation period on 17 August 2007 ASIC had received approximately 20 submissions submissions in response, including submissions from the obviously interested parties of the ASX, AXE, Liquidnet, NSX and the Australian Competition and Consumer Commission.

My succinct (simplistic?) interpretation and summation of the AXE and ASX responses is thus:

ASX: Market fragmentation may result in higher volatility and lower liquidity. The proposals put forward by both AXE and Liquidnet risk reducing both pre- and post-trade transparency, may limit the informative and orderly formation of prices, and will threaten the overall efficiency of the security market in Australia ultimately increasing the cost of equity capital to Aussie business and ultimately affecting “Australia’s international competitiveness”. Oh, but yes, competition on its merits is still a good thing!

AXE: Competition will increase liquidity, enhance innovation and expand market participant’s choices for order execution. This will also lead to Australia attracting greater international investment and dominating the provision of financial services within the Asia-Pacific region. Oh, and we think ASIC is brilliant!

Clearly opinion is divided.

There is something to arguments that fragmentation of the Australian market will negatively affect liquidity. If we take average daily turnover as a measure of liquidity we see that Australia ranks 13th on a global scale.

Exchange 2006 Avg. Daily Turnover (USD millions)
NYSE Group 86,815.1
Nasdaq 47,041.8
London SE 30,046.4
Tokyo SE 23,479.1
Euronext 15,111.1
Deutsche Börse 10,819.0
BME Spanish Exchanges 7,583.5
Borsa Italiana 6,264.5
Swiss Exchange 5,563.9
Korea Exchange 5,433.5
OMX 5,245.5
TSX Group 5,106.8
Australian SE 3,411.0

Source: World Federation of Exchanges, available at http://www.world-exchanges.org/WFE/home.asp?menu=406&document=4145 [cited 20 Jan 2008]

So liquidity is already quite low by comparison to other Western markets (2007 figures were not yet available). That said, as far as I can tell there are ECNs, crossing networks and ATS operating in all of other other markets. However the average volume of the ASX is significantly lower than that of the next most liquid markets.

As for LiquidNet, its focus on the buy-side and disintermediating the traditional brokers will lower the transaction costs for the Australian funds management and superannuation industry, one of the largest in the world and the largest in Asia.

On Wednesday November 21 2007 ASIC issued a second consultation paper seeking further comment from interested parties; this consultation period closes on 29 January 2008. The general feel is that both AXE and LiquidNet will be successful in getting ASIC’s support for their Australian Market Licence (AML) applications, subject to approval by the Minister for Finance and Deregulation. I wonder to what extent the participants will reframe their arguments in light of the change of Commonwealth government from the Liberal Party to the ALP on the 24th of November? ASIC’s major sticking point at this stage appears to be the formulation of rules that will ‘maintain market integrity in a multi-venue environment’ (p. 5).

Regardless of whether AXE’s AML application will be ultimately successful a few press releases have given insight into the technology that will be behind their platform:

 

Airfoil IS a “poor man’s Sonos”! January 11, 2008

Posted by James Webster in : apple, gadgets , add a comment

Two years ago I suggested that Rogue Amoeba’s Airfoil could potentially be turned into “a poor man’s Sonos”. Well it looks like they have made that happen with the release of Airfoil 3. The only missing piece I can see is an iPhone-optimised web interface to Airfoil to take the place of the Sonos Controller.

The new Slim Devices/Logitech Squeezebox Duet looks quite interesting as well, although given its cross-platform nature it may not survive a rumoured acquisition by Microsoft with its current feature set intact.

Given I currently live in a pokey London flat from the middle of which I can see into all four rooms simultaneously I don’t think this is a segment of the gadget market that I need to buy into just yet!

Ruby-style keyword hashes in C# 3.0 January 7, 2008

Posted by James Webster in : development , 1 comment so far

I have been taking a look at some of C# 3.0’s new features now that Visual Studio 2008 and .Net 3.5 are now RTM, and have been wondering what patterns might emerge from them. I wonder if the automatic property and object initializer features might permit a similar pattern to Ruby’s ‘hash arguments’ functionality that is frequently used to simulate optional keyword arguments.

Consider the example Ruby on Rails ActiveRecord code below, taken from the RoR documentation for ActiveRecord. It demonstrates how multiple, optional arguments can be passed to a method and those arguments can be specified via a keyword (actually a key into a hashtable/dictionary).

Person.find(:first)
Person.find(:first,
    :conditions => [ "user_name = ?", user_name])
Person.find(:first,
    :order => "created_on DESC",
    :offset => 5)

Obviously there is a set of keyword arguments that ActiveRecord will look for, and anything else will be ignored. The typing with respect to the hash is strong yet dynamic.

In the C# 3.0 world we would implement a class that statically declares the permitted ‘keyword arguments’…

public class FindOptions {

private bool all = true;
private string lock = "NO LOCK";

public bool All {
    get { return all; }
    set { all = value; }
}

public bool First { get; set; }
public string GroupBy { get; set; }
public int Limit { get; set; }

public string Lock {
    get { return lock; }
    set { lock = value; }
}

}

Automatic properties let us short-cut the definition of properties for which the default value (0, false, null, etc) is acceptable. Where we prefer to have an alternative default it will be necessary to fully-specify the property as in the case of the All and Lock properties in the above example. Ilya Ryzhenkov, Resharper Product Manager at Jetbrains, wonders if the inability to set a default value for an automatic property means that this feature is incomplete and I would tend to agree.

Our equivalent to the ActiveRecord-generated Person class in the Ruby example above would be a DAO, which would accept an instance of our FindOptions class as a parameter…

public class PersonFinder {

// Option #1 - using specified FindOptions
public Person[] BySurname(string surname,
        FindOptions options) {
    // ...code to find and return a Person...
}

// Option #2 - using default FindOptions
public Person[] BySurname(string surname) {
    return BySurname(surname, new FindOptions());
}
}

We would then use both classes in combination as follows, taking advantage of the property initialization syntax in C# 3.0 …

PersonFinder people = new PersonFinder();
people.BySurname("Webster",
    new FindOptions {First = true});
people.BySurname("Smith",
    new FindOptions {Limit = 100, GroupBy = "FirstName" });
people.BySurname("Jones");

This style is definitely not idiomatic C# but I am wondering if it will become a useful idiom within the scope of C# 3.0. All this could be simplified further if C# supported a concise Dictionary initialization syntax!

Also worth keeping an eye on, Mono.Rocks, a growing utility library consisting of extension methods to bring fluent interfaces to CLR classes (more over at InfoQ).