Growing your Saving account Money !

  • The Banks use the money which we keep with them in our Savings account to invest. They make money of their investment and so they share the reward with us.
  • Percent of money that bank shares with us is dependent on the bank and the country’s RBI rules
    US Banks provide 0.26 % APY.
    Indian Banks provide 3.26 % APY.
  • APY : Anual percent yield. 1% APY on 1,000 $ savings account will give you 10 $/ after a year of maintaining 1000$ constant balance. It is calculated at the end of every month.
  • Thus the difference is clear. Indian Banks will give you 12.5 Times more then any US Banks !
  • Banks generally give lower APY in countries which want people to spend more than what they have.
  • Lower APY also makes people invest into riskier investments like stock markets !
  • This blog is still a work in progress. I will write more about ETF ( Exchange traded funds ) which over 4-5 years yield 12-15 % annual Compounding Rate of return every year !
  • Stability of Dollar Vcs Rupee would also inspire you to park your money in India.
  • For more details see the Dollar Bubble video.

Evaluation of money sending options to India

There are many ways to send money. You decision could be based on following points.

  1. Which way is giving you the best foreign exchange rates ! Visit dollar2rupee.net . This is a good web site which helps you to compare the up to date exchange rates provided by many banks/online services.
  2. Wells Fargo does online remittances to ICICI Bank really well, but their exchange rate is always 50 paise lower then Bank of India as per my observation.
  3. State Bank of India charges you $ 25 fees and gives 10-20 paise lower then Bank of India branch in San francisco, most of the times. Money reaches the next working day ! That is the best !
  4. Bank of India generally gives the best foreign exchange rate, 30-35 paise lower then what is todays Market rate on reuters.
  5. Star E Remit : Use it if you are trying to send money which is not big amount.
  6. Axis Remit: Takes very long ! No fees for transaction, my observation is that it is a costly deal.

In short, I would use Bank of India for larger transactions ( > 7 K ) in which you end up saving getting 150 $ of foreign exchange conversion. Other then that I would use the normal online ways to transfer small amounts from my desk at home.

Fall of the republic !

Economist of India !

Indian National Debate (Part 1 of 4)

Indian National Debate (Part 1 of 7) - S Gurumurthy

YUI datatable header checkbox

Implementing YUI header checkbox is a three step process:

Step 1:
(Draw/Display/Render) the header checkbox with a unique Identifier along with your data table.
Example :

<script type="text/javascript">

    var myPage = function()
    {
        return {

            HeaderChanged: function()
            {
                var myHeaderCheckbox = document.getElementById("header_checkbox");
                if (myHeaderCheckbox.checked == true)
                {
                    myPage.CheckAll();
                }
                else
                {
                    myPage.UncheckAll();
                }
                return true;
            },

            FormatCell: function(elCell, oRecord, oColumn, oData)
            {
                //Create checkbox
                var checkboxId = 'row_' + oRecord.getData()["id"];
                var checkbox = document.getElementById(checkboxId);
                if (checkbox == null)
                {
                    checkbox = document.createElement('input');
                    checkbox.setAttribute('type', 'checkbox');
                    checkbox.setAttribute('id', checkboxId);
                    checkbox.setAttribute('class', YAHOO.widget.DataTable.CLASS_CHECKBOX);

                    elCell.innerHTML = "";
                    elCell.appendChild(checkbox);
                }
            },

            CheckAll : function()
            {
                alert("Add code to check all checkboxes");
            },

            UncheckAll : function()
            {
                alert("Add code to un-check all checkboxes");
            }

            //Kunal-TODO : Write function that does book keeping for XHR datasource objects.
        };

    } ();

    YAHOO.util.Event.addListener(window, "load", function() {
    YAHOO.example.Basic = function() {
    var myColumnDefs = [
            { key: "checkbox", label: "
", sortable: false, resizeable: false,
                formatter: myPage.FormatCell
            },
            {key:"id", sortable:true, resizeable:true},
            {key:"date", formatter:YAHOO.widget.DataTable.formatDate, sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC},resizeable:true},
            {key:"quantity", formatter:YAHOO.widget.DataTable.formatNumber, sortable:true, resizeable:true},
            {key:"amount", formatter:YAHOO.widget.DataTable.formatCurrency, sortable:true, resizeable:true},
            {key:"title", sortable:true, resizeable:true}
        ];

        var myDataSource = new YAHOO.util.DataSource(YAHOO.example.Data.bookorders);
        myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
        myDataSource.responseSchema = {
            fields: ["id","date","quantity","amount","title"]
        };

        var myDataTable = new YAHOO.widget.DataTable("basic",
                myColumnDefs, myDataSource);

        return {
            oDS: myDataSource,
            oDT: myDataTable
        };
    }();

</script>

Source code page : http://kunalcholera.com/Code/checkbox.html
Step 2:
Attach an asynchronous java-script onclick event to this displayed header checkbox. Depending on type of your data source, this event would mark all the rows in your data table. If your data source is local data source, then you can manipulate the data source in client side only to check all the rows. After checking all the rows, you would have to re-render/re-draw the data table with the newly modified object. If your data source is XHR object, then you would have to call your web service to mark all the rows as checked and re-draw your data table with the updated object.

Step 3:
Having checked all the rows, you would have to update the server side with the new object with all checked/unchecked rows.

I will provide some sample working code soon.

Customize YUI DataTable Headers using CSS

Only Example can be found at http://kunalcholera.com/Code/DataTable-CustomHeaders.html

<style type="text/css">
/*  Place this code inside your style script or CSS file:
	Code implies: apply this style for all th elements which
	are inside any element with class name "yui-dt" which is inside any
	element with class "yui-skin-sam"
*/
.yui-skin-sam .yui-dt th
{
	text-align:left;
	background: paleGoldenRod;
}
</style>

C# LINQ to filter list of objects !

// Example :
Class Human
{
	public int SSN;
	public String Name;
	public List<string> Family_Members;
	public ENUM....
}

//From Given list of objects

List<Human> myFriends = { Sunny, Jinesh, Saumya..... };

//Find out all objects whose Id is in this list

List<long> SSNList = new List<long>{11,12,14,15};

//Solution

using System.LINQ;
List<Human> resultFriends = {
						from friend in myFriends
						where SSNList.Contains(friend.SSN)
						select friend).ToList()
				              };

}

Stock Market Investing :: P/E Ratio, EPS Ratio, Brokerage, Inflation & TAX

P/E Ratio : ( Price / Earnings per share )Ratio.

  1. The fundamental rule is you only want to invest(i.e buy a part of a company) in company which is going to make good and sustainable profits. => we want the earnings to be very high =>Denominator of the above ratio should be high => buy those with small P/E value
  2. Higher P/E implies means either the stock is very expensive or people estimate this company will do very well. There by they are putting more money to get little earnings => Long term companies..
  3. From Wikipedia “For example, if a stock is trading at $24 and the earnings per share for the most recent 12 month period is $3, then stock A has a P/E ratio of 24/3 or 8. Put another way, the purchaser of the stock is paying $8 for every dollar of earnings. Companies with losses (negative earnings) or no profit have an undefined P/E ratio (usually shown as Not applicable or “N/A”); sometimes, however, a negative P/E ratio may be shown.”
  4. A low P/E may indicate a “vote of no confidence” by the market or it could mean that the market has just overlooked the stock. Many investors made their fortunes spotting these overlooked but fundamentally strong stocks before the rest of the market discovered their true worth.
  5. The P/E tells you what the market thinks of a stock. It tells you whether the market likes or dislikes the stock. Higher P/E means - people think this company is great to be in. Lower P/E means people have overlooked the stock price and dont value it more. If you can find of those companies which are having lower P/E today and buy them and when eventually market realizes it, P/E increase and you have made a fortune.
  6. EPS = Net Earnings / Outstanding Shares - Comparing the earnings would not make sense. Just because a company has higher earnings then the other does not mean it is good. It also depends on the number of shares the company has in the market.  For example, companies A and B both earn Rs.100, but company A has 10 shares outstanding, so each share holder has in effect earned Rs.10.
    On the other hand, if company B has 50 shares outstanding and they too have earned Rs.100 then each shareholder has earned Rs.2. So you see it is important to know what is the total number of outstanding shares are as well as the earnings. EPS does not tell you anything about what people think of the company. For that we need to look P/E ratio. ==>Conclusion : Higher EPS is better earnings.
  7. In conclusion, the P/E tells you what the market thinks of a stock. It tells you whether the market likes or dislikes the stock. => Higher EPS => Lower P/E
  8. Consider Brokerage fees as part of your gains - Every 10,00,000 you pay 0.04 % minimum ( my broker’s brokerage ) => 40,000 Rs . and another 40,000 for selling assets worth 10,00,000.
  9. Consider 15 % Tax for short term capital gains tax - India and 0% (> 1 year ) long term capital gains tax that you would have to pay from your earnings.
  10. Consider 7 % Inflation that reduces the value of your money by 7 % every year if is it locked in a bank. 50 paise my dad could watch a movie, if he saved it till 2009 to see a movie in 2009 -> he could do nothing with it. Inflation ate it all…..

http://en.wikipedia.org/wiki/PE_ratio

http://www.indiahowto.com/pe-price-to-earnings-ratio.html