##what asset classes are important to PB business

Prime brokers provide a wide range of services to hedge funds. What asset classes are important in the PB market? (Note this is subtly different from the question “what asset classes are important to hedge funds”)

#1 Equities
#2 FI

(In Eq and FI, clients get financing.)

#3 futures – no financing
FX is slightly less important

Financing is the most needed “service” and includes
* stock lending
* margin lending
* repo and reverse repo

The 2nd most valuable “service” might be technology
* low-latency direct-market-access (including FX)
* collocation in exchange data center

multicast – video streaming^live price feed

These are the 2 main usages of IP multicast. In both, Lost packets are considered lost forever. Resend would be “too late”.

I think some of the world’s most cutting-edge network services — live price feed, live event broadcast, VOD — rely on IP multicast.

Multicast is more intelligent data dissemination than broadcast, and faster than unicast. Intelligence is built into routers.

I believe JMS publish is unicast based, not broadcast based. The receivers don’t comprise an IP broadcast group. Therefore JMS broker must deliver to one receiver at a time.

wpf data template, basics

DT is mostly used with collections, though it can be used for standalone objects. Let’s suppose we have a list  box of  Persons.

DT is a chunk of xaml code. (Can it be done in c# code? I have not seen any.). The list box is another chunk of xaml. You could embed the DT chunk in the listbox chunk, but it’s more common to define a “reusable” DT inside a resource dictionary (another chunk of xaml) and give it a name like MyDT. To use this DT, we assign MyDT as the RHS to ItemTemplate property (LHS) of our list box.

In Smarty, a newsletter template would need $yourName, $yourAddress and other dummies. Similarly, our DT chunk includes things like “{Binding path=Address}”. This is a data field, presented within a bunch of container visual controls. Therefore, a DataTemplate precisely describes a (hierarchy of) container holding one (or more) data item.

The same template is repeatedly applied to the Address field (+ other fields) of each list item, to “present” each item on screen.

CommandBinding – is associated with command target

From http://msdn.microsoft.com/en-us/library/system.windows.input.commandbinding.aspx, I get the feeling that a command binding (CB) instance is associated with a command target. I’d say the CB instance is injected into the command target object, which is usually a visual control.

(This seems to echo the very common and essential data binding in xaml, where the binding object is injected into the target, not the source.)

I also get the feeling that CB is used only for routed command. If that’s the case, I feel this is a slightly advanced feature. For an initial grip on the commanding paradigm, some students should probably skip this CB topic. [[wpf succinctly]] doesn’t mention command binding or command target. My delegate command implementations don’t use CB either.

I understand command binding is crucial in routed commands, since the bubble or tunnel will scan the containment hierarchy stopping at a command binding. The builtin WPF commands are all RoutedCommands.

message fragmentation in Internet Protocol

IP layer handles fragmentation/defrag. UDP and TCP are one layer above IP and relies on this “service” of the IP layer.

UDP may (TCP is different) occasionally lose some “logical” packets, but never part of a logical packet.

When a logical packet is broken up at IP layer into physical packets, the constituent physical packets will either be delivered altogether or lost altogether. The frag/defrag IP service is transparent to upper layers so UDP/TCP don’t need to worry about basic data integrity.

Chicago/Sing HFT IV Aug 2012 (master copy in pearl)

Q1: pros and cons of vector vs linked list?

Q1b: Given a 100-element collection, compare performance of … (iteration? Lookup?)

Q: UDP vs TCP diff?
%%A: multicast needs UDP.

Q: How would you add reliability to multicast?

Q: How would you use tibco for trade messages vs pricing messages?

Q5: In your systems, how serious was data loss in non-CM multicast?
%%A: Usually not a big problem. During peak volatile periods, messaging rates could surge 500%. Data loss would deteriorate.

Q5b: how would you address the high data loss?
%%A: test with a target message rate. Beyond the target rate, we don’t feel confident.

Q7: how is order state managed in your OMS engine?
%%A: if an order is half-processed and pending the 3nd reply from ECN, the single thread would block.

Q7b: even if multiple orders (for the same security) are waiting in the queue?
%%A: yes. To allow multiple orders to enter the “stream” would be dangerous.

Now I think the single thread should pick up and process all new orders and keep all pending orders in cache. Any incoming exchange messages would join the same task queue (or a separate task queue) – the same single thread.

3 main infrastructure teams
* exchange connectivity – order submission
* exchange connectivity – pricing feed. I think this is incoming-only, probably higher volume. Probably similar to Zhen Hai’s role.
* risk infrastructure – no VaR mathematics.