Agile as per english dictionary means able to move quickly and easily.

Agile inshort means iterative / incremental development methodology.

It promotes

  • Adaptive planning
  • Evolutionary development and delivery
  • A time-boxed iterative approach
  • Encourages rapid and flexible response to change

In simple terms I called it test based development where requiierement evolves with each iteration

Honestly, last part of setence likes and cherished by all cutomers, think about you being one of them and have all right to say what qualities your desired software should have during the course of development would be big plus.

Agile philosophy push these key items forefornt

  • Customer satisfaction by rapid delivery of useful software
  • Welcome changing requirements, even late in development
  • Working software is delivered frequently (weeks rather than months)
  • Close, daily cooperation between business people and developers
  • Working software is the principal measure of progress
  • Sustainable development, able to maintain a constant pace
  • Regular adaptation to changing circumstances



Application Lifecycle Management (ALM) tools

Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of application software.

It comprises of

  • requirements management
  • software architecture
  • computer programming
  • software testing
  • software maintenance
  • change management
  • project management
  • release management

Some of the popular tools I have used which will discuss in this article

  • Team Foundation Server from Microsoft
  • IBM Rational Team Concert from IBM
  • uberSVN WANdisco
  • Visual Studio Application Lifecycle Management Microsoft  

To begin with will start with Team Foundation Server from Microsoft 

Team Foundation Server (commonly abbreviated to TFS) is a Microsoft product which provides

  • source code management (either via Team Foundation Version Control or Git),
  • reporting,
  • requirements management,
  • project management (for both agile software development and waterfall teams),
  • automated builds,
  • lab management,
  • testing
  • release management capabilities.

It covers the entire Application Lifecycle Management. TFS can be used as a back end to numerous integrated development environments but is designed to provide the most benefit by serving as the back end to Microsoft Visual Studio or Eclipse.



Perl is still alive

After going through number of online Perl conference videos, its evident that language still got lot to offer than what people explored so far.

Joining the bandwagon back!!!


Find files on solaris

Find all the files under /u* which are 30 days old and greater than 1gb

find /u* -type f -mtime +30 -size +1024000 | xargs ls -ltr | awk -F" " '{print $5 " "  $9}' | sort -r -n | awk -F" " '{print $2}' | xargs du -h | less

Finance FIX Tech Book

The Financial Information eXchange (FIX) Protocol

It is a series of messaging specifications for the electronic communication of trade-related messages.

Example of FIX message (Tag Value pair)


Fix message divided into 3 main category

  1. Header
    • Fix version
    • sender
    • receiver
    • type of message
  2. Body
    • order type
    • symbol
    • qty
    • price
  3. Footer
    • checksum – used to avoid the transmission error

Let us now understand above example FIX message in detail

(^) caret is a field delimiter

Referring to FIX specification at


Tag Description Valid values
8 Identifies beginning of new message and protocol version. ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted)


Tag Description Valid values
9 Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted)


Tag Description Valid values
35 Defines message type. ALWAYS THIRD FIELD IN MESSAGE. (Always unencrypted)Note: A “U” as the first character in the MsgType field (i.e. U1, U2, etc) indicates that the message format is privately defined between the sender and receiver.
D = Order – Single [NewOrderSingle]


Tag Description Valid values
34 Integer message sequence number.


Tag Description Valid values
43 Indicates possible retransmission of message with this sequence number
N = Original transmission [OriginalTransmission]


Tag Description Added Depr. Enums from tag Valid values
49 Assigned value used to identify firm sending message. FIX.2.7



Tag Field Name Data Type Union Datatype Description Added Depr. Enums from tag Valid values


Tag Description Valid values
56 Assigned value used to identify receiving firm.


Tag Description Valid values
52 Time of message transmission (always expressed in GMT)


Tag Description Valid values
1 Account mnemonic as agreed between broker and institution.


Tag Description Valid values
11 Unique identifier for Order as assigned by institution. Uniqueness must be guaranteed within a single trading day. Firms which electronically submit multi-day orders should consider embedding a date within the ClOrdID field to assure uniqueness across days.


Tag Description Valid values
21 Instructions for order handling on Broker trading floor
1 = Automated execution order, private, no Broker intervention [AutomatedExecutionNoIntervention]


Tag Description Enums from tag Valid values
55 Ticker symbol


Tag Description Enums from tag Valid values
48 CUSIP or other alternate security identifier


Tag Description Valid values
22 Identifies class of alternative SecurityID


Tag Description Valid values
54 Side of order
1 = Buy [Buy]


Tag Description Added Valid values
38 Number of shares ordered FIX.2.7


Tag Description Valid values
40 Order type.
2 = Limit [Limit]


Tag Description Valid values
44 Price per share


Tag Description Valid values
59 Specifies how long the order remains in effect. Absence of this field is interpreted as DAY.
0 = Day [Day]


Tag Description Valid values
10 Three byte, simple checksum (see Appendix B for description). ALWAYS LAST FIELD IN RECORD; i.e. serves, with the trailing <SOH>, as the end-of-record delimiter. Always defined as three characters. (Always unencrypted)

Different message type

Admin Messages

  • Login
  • Logout
  • Heartbeat

Application Message

  • New order
  • Order cancel
  • Execution
  • All business related messages

Do come back to see more updates on this article.


Fixed Income

It provides a return in the form of fixed periodic payments and the eventual return of principal at maturity. Unlike a variable-income security, where payments change based on some underlying measure such as short-term interest rates, the payments of a fixed-income security are known in advance.

Example of a fixed-income security would be a 5% fixed-rate government bond where a $10,000 investment would result in an annual $500 payment until maturity when the investor would receive the $10,000 back. Generally, these types of assets offer a lower return on investment because they guarantee income.


It is a debt security similar to an informal debt instrument. When you purchase a bond you are lending a money to that entity who is issuers. In returns for the loan, the issuers promises to pay specified rate of interest during the life of the bond and to repay the face value of the bond when it matures or comes due.


Exchange Traded Fund – ETF what is it, how it works, who likes it

A security that tracks an index, a commodity or a basket of assets like an index fund, but trades like a stock on an exchange.

ETFs experience price changes throughout the day as they are bought and sold.

It trades on public exchanges and can be bought and sold during market hours like stocks.

Because it trades like a stock, an ETF does not have its net asset value (NAV) calculated every day like a mutual fund does.

You can pretty much find an ETF for just about any kind of sector of the market

Popular ETFs example

GLD SPDR Gold Trust
VWO Vanguard MSCI Emerging Markets
EEM iShares MSCI Emerging Markets Index
QQQ PowerShares QQQ
IVV iShares S&P 500
TIP iShares Barclays TIPS Bond Fund
VTI Vanguard Total Stock Market VIPERs
LQD iShares iBoxx $ Investment Grade Corporate Bond

Spider (SPDR), which tracks the S&P 500 index and trades under the symbol SPY
QQQQ, this ETF represents the Nasdaq-100 Index, which consists of the 100 largest and most actively traded non-financial stocks on the Nasdaq, QQQQ offers broad exposure to the tech sector.

Investor get the diversification of an index fund as well as the ability to sell short, buy on margin and purchase as little as one share.

Types of ETFs

  1. Index ETFs – Tracks performance of index by holding its portfolio sample of the securities in the index
  2. Commodity ETFs or often referred as ETCs – Tracking non-security indices, example Gold ETFs
  3. Bond ETFs – Exchange-traded funds that invest in bonds are known as bond ETFs
  4. Currency ETFs – Tracking all major currencies
  5. Active Managed ETFs – It is fully transparent, publishing their current securities portfolios on their web sites daily.
  6. Leveraged ETFs – Leveraged index ETFs are often marketed as bull or bear funds

ETFs Trading

ETFs trade on market, investors can carry out same types of trades they do with stock.

Meaning, investors can sell short, use a limit order, use a stop-loss order, buy on margin, and invest as much or as little money as they wish (there is no minimum investment requirement).

Major criticism so far

ETFs represent short-term speculation, that their trading expenses decrease returns to investors, and that most ETFs provide insufficient diversification.


FIX protocol use for live streaming data, is that really you want it?

FIX protocol used for transactional messages (placing orders, modifying orders, cancelling orders, account queries, etc) but not for actually streaming live price data since the FIX message format is very verbose (i.e. there are a lot of required fields in each message that are not really relevant to market data).

An example:

A trade report binary message looks like:

trade ID – 4 bytes
price – 4 bytes
volume – 4 bytes
timestamp – 8 bytes
trade flags – 4 bytes

Total message size 24 bytes.

Imagine if you had to wrap each market data message in a FIX message you would need to include SenderCompID, TargetCompID, MsgType, BodyLength, Checksum, SequenceNum, BeginString, …

This would mean you would be sending a lot of “wrapper” information around each piece of relevant market data (probably much more wrapper information than actual data information).

If you are tracking thousands of stocks in real time then the network overhead of all of that wrapper information as well as the CPU cost of decoding those FIX messages would most likely cause you problems.

For that reason, real-time market data is usually sent on a separate TCP/UDP connection to your transactional FIX messages and usually in a bit-efficient binary format.


Treasury Business


The U.S. Treasury periodically needs to borrow money to finance the operation of the government. When the Treasury needs to borrow money it issues instruments called bills, notes or bonds, each of which are basically nothing more than an “I owe you.”

All Treasury instruments also have defined maturity ranges. In addition, each Treasury instrument has a certain denomination attached to it. For example, a Treasury bill, or “T-bill,” is a short-term instrument that’s worth $1,000 and matures within a year.

U.S. Treasury securities—such as bills, notes and bonds are debt obligations of the U.S. government. When you buy a U.S. Treasury security, you are lending money to the federal government for a specified period of time.

How it work

Treasury instruments are issued through an auction process. T-bills, which are short-term in nature, are mostly auctioned on Mondays. Four-week T-bills, meaning they mature in 4 weeks, are auctioned by the Treasury on Tuesdays. Treasury notes and bonds are auctioned as needed and pay face value at their maturity date. All T-notes and T-bonds pay a stated interest rate on a semi-annual basis. T-bills are sold at a discounted rate; with a typical $9,700 1-year T-bill paying about $10,000 at maturity.

The US Treasury Department periodically borrows money and issues IOUs in the form of bills, notes, or bonds (“Treasuries”). The differences are in their maturities and denominations:

Bill Note Bond
Maturity up to 1 year 1–10 years 10–30/40 years
Denomination $1,000 $1,000 $1,000
Minimum purchase $1,000 $1,000 $1,000

How to buy

All standard Treasury instruments are available for sale to the general public through the U.S. Treasury’s TreasuryDirect program. Treasury instruments sold through the TreasuryDirect program come with no fee or a low fee, depending on the instrument purchased. You can also purchase U.S. Treasury instruments through banks and brokers, though they’ll typically charge a commission fee. If you buy Treasury instruments through banks or brokerages, normally you also have to open an account.

Payment & Rewards

All Treasury instruments are negotiable, meaning they can be sold at any time at a price you negotiate for with a willing buyer. “Treasuries,” as Treasury instruments are usually called, can also be pledged as collateral for things such as loans. Treasury instruments purchased through the TreasuryDirect program, though, can’t be pledged as collateral in some cases. Treasury instruments are also considered the safest investment in the United States because they’re backed by the full faith and credit of the nation itself.


Market Risk


Risk which is common to an entire class of assets or liabilities. The value of investments may decline over a given time period simply because of economic changes or other events that impact large portions of the market. Asset allocation and diversification can protect against market risk because different portions of the market tend to underperform at different times. also called systematic risk.

One of six risks defined by the Federal Reserve.

The risk of an increase or decrease in the market value/price of a financial instrument.

Market values for debt instruments are affected by actual and anticipated changes in prevailing interest rates.

Market values for all financial instruments, except direct obligations of the U. S. Treasury, are affected by either actual or perceived changes in credit quality.’ market risk’ includes reinvestment risk – that is, the risk that all or part of the principal may be received when interest rates are lower than when the security was originally purchased.

In that case, the principal must be reinvested at a lower rate than that originally received. Sometimes called market value risk.

Also see interest rate risk and price risk.


From January 1st, 1998, internationally-active banks in G-10 countries had to maintain regulatory capital to cover market risk.

This is the risk to an institution’s financial condition resulting from adverse movements in the level or volatility of market prices of interest rate instruments, equities, commodities and currencies. Market risk is usually measured as the potential gain/loss in a position/portfolio that is associated with a price movement of a given probability over a specified time horizon. This is typically known as value-at-risk (VAR). An institution with a 10-day VAR of $100 million at 99% confidence will suffer a loss in excess of $100 million in one fortnightly period out of 20, and then only if it is unable to take any action to mitigate its loss.

Many banks calculate one-day VAR numbers which are then compared with actual daily profits and losses. It is much easier for them to scale up these numbers by the square root of 10 to meet the 10-day holding period laid down by the Basle Committee than to start afresh. But scaling up daily numbers to reflect a longer unwind period is fine for linear products such as forwards and swaps but not good enough for options and products with embedded options. Extrapolating daily VAR numbers does not capture the gamma or curvature risk of such products. The best way of capturing this curvature is to use longer holding periods which explains why the Basle Committee opted for a 10-day holding period. But the Committee wanted to limit industry burden in complying with its pronouncements and thus decided that banks could scale up their one-day numbers for a limited period. These banks are however asked to assess the option risk in their portfolios by applying Monte Carlo simulation and/or stress testing.