CONTENTS OF THIS SITE

OUR OTHER CONTENTS

RECENT BLOG ENTRIES

FIX Protocol

April 20th, 2007 by comment Alex

There are a lot of jobs out there right now for programmers who know Fix, but what is it and how do you learn it? Fix is short for: Financial Information Exchange Protocol

Step one, get a fix engine and load it on your computer. I recommend the QuickFix engine because it’s free and open source. QuickFixEngine

Step two, download the fix protocol specifications. There are different versions of the specification.
Fix Protocol Specifications

Fix is broken up into two layers. First, there is the session layer. Session layer messages are going to handle things like Logon, Logout, Message Recovery, Heartbeats, Test Requests, Resend Requests, Rejects, Sequence Resets (Gap Fills), and more. Secondly, there is the Application layer. Since Fix deals with trade information for the stock market and futures market, the application layer messages will be along the lines of sending an order, getting a fill, changing an order, and more.

The fix messages themselves are broken up into Tags.
Tag = Value Delimiter
So, and example would look like this: 35=D |
35 is the Tag
D is the value
| is the delimiter
A fix messages is made up of many tags. Here is an example:

{code wrapped}

Send(12/06/2006-10:23:43.175)|8
=FIX.4.2|9=00060|35=0|49
=Alex|56=orders|34=99|52=20041206-10:23:43.175|10=080|

Understanding the tags is key. For example, Tag 34 is the sequence number. All Fix messages will have a sequence number. Sequence numbers ensure that the data is delivered in sequential order. If the sequence numbers fall out of sync with one another then your application must recover. In the message above, the sequence number is 99 because tag 34=99. Tag 34 is the sequence number and 99 is the value. All of the tags can be found documented in the fix specification document.
Tag 35 is the type of fix message being sent. 35=0 shows us that this message is a heartbeat message. Heartbeats will flow from fix machines every 30 seconds or so. This is configurable typically.
Here are some other important values for tag 35:
TAG 35 = A Log on
TAG 35 = 8 Execution Report
TAG 35 = 0 Heartbeat
TAG 35 = D New Order
TAG 35 = d Security Definition

The entire idea behind fix is that you send a fix message, say a 35=c which is a request for security definitions. Security definitions are the details on the contracts for sale or for purchase at an exchange. If you send a request for security definition then a fix machine that is setup to listen for these requests will start sending your all security definitions listed on the exchange it connects too. A security definition will have tag 35=d

As a FIX programmer, you will need to get the fix engine talking to your business logic application layer. You will use the Fix engine API to send your business messages to whatever other fix party you are talking to in the system architecture of your project. An example of a typical architecture would be creating a Fix Client Front End Trading System. So, you would download Quick Fix and use its API to send messages both for the Session Layer and the Application Layer to another fix machine that would talk to a Futures exchange or an Equities exchange to place orders and get fills.

All communication that I am aware of in FIX is TCP/IP. It is all about sending and receiving fix messages like the example above. If a programmer wants to learn fix to get a job programming a fix trading system then following these steps to learn more about fix makes them very marketable in the financial industry at this time.

ˆ Back to top

Who do you turn to if your domain registrar is unscrupulous?

February 26th, 2007 by comment Carmelyne Thompson

I’ve been in the business of doing websites since 1998. Little did I know that no one would protect a Registrant if your domain registrar is a fraud or if they decide to take your domain hostage. Whoa?! Such huge allegations you say? We will get to that. You’d want to hear this story.

The big question - -

If you are reading this blog post, I’m 100% sure you own a domain or two yourselves or know of someone who does. Can you trust your registrar? I found out the hard way that you couldn’t. I am one of those victimized by RegisterFly. Charles Ferri’s video shows it all. The Malaysia Sun has a full story on the scandal. Bob Parson, CEO of GoDaddy, has a blog post about this RegistryFly Scandal too.

Based on my experience from this, there’s no clear lawful process to immediately “siege” back a domain you own when your Registrar has your domain in its clutches and NO ONE seems to know how to exactly fix this kind of problem other than ICANN’s sending breach of contract memos and then maybe finally canceling the registrar’s accreditation.

What about the stolen domains? What about the time sites becoming inoperable because of this scandal and it’s disruption to business? How is that addressed/resolved? Rumors have it that ICANN will migrate those customers to another registrar soon. I’ve emailed ICANN and InterNic, and yet, I have not heard nor receive any email from them to address my problem. I am but one of the thousands banging their head on the wall and feeling just helpless. People are already losing business over this and now they even have to pay to transfer out? Plainly, ridiculous.

I have learned some things from this misfortune and I’d like to share them with you. Please read below:

Steps you can do to protect your domain - -

  1. Obviously, watch out for red flags: renewals not going through but billed for it, support tickets being deleted or left unanswered for days, domain names magically disappearing from your domain management panel, calling customer support and placed on hold for 45 mins only to be forwarded to a 411 directory operator. Yes, seriously that bad! The moment you start seeing that transfer out!
  2. Regularly check the WhoIs information of your domain.
  3. I cannot emphasize more that it’s very important to have your Administrative Contact Email current! In the event you transfer your domain, an email will be sent out to the administrative contact email to confirm and authorize the process. Don’t worry, it’ll be less tedious to update the contact info using bulk edit if you own more than one domain.
  4. Keep a copy of your Authorization Code. This information can be found in your domain management panel under your whois info. The authorization code is your key out if you decide to transfer your domain to a different registrar.
  5. Regularly check the Registrar Status of your domain. The status info can also be seen on WhoIs.
  6. In situations like the RegisterFly fiasco, it’s better not to dispute the charges on your credit card for payments for domain renewals. Keep them as your proof.

To this date, I still have 12 pending transfers, some renewed domains that still expired and moved out of my control panel so I have no access to the authorization codes. Those domains are now sitting under RegisterFly’s parking pages. Is there hope?

ˆ Back to top