When and How to use P/E ratio (Price-Earning ratio)

Which stock and when to invest? A key question every person about to invest has in their mind. The answer to these issues is Price-Earning (PE) ratio and popular in the investment community. However, it is not entirely reliable.

PE ratio is one widely used tool for stock selection. One key thing you need to remember is this ratio is only useful in comparing companies in the same industry. A higher P/E ratio means that investors are paying more for each unit of net income, so the stock is more expensive compared to one with lower P/E ratio.


The PE is calculated by dividing the market price per share by the earnings per share (EPS).


As mentioned above higher PE ratio refers that the stock is expensive which means it is possible that share is overpriced and Lower price ratio, on the other hand, may refer to the poor performance of the company. That is the reason why I said PE is completely reliable. You have to look at the background of the company, before investing.

Subscribe to Sulthan Academy for more updates. Leave your comment below.

Interesting Facts and Info about Indian Railways

Comparison of different gauges common in India with the standard gauge, which is not common in India

Railways were first introduced to India by the Great Indian Peninsula Railway (GIPR) in 1853 from Bombay to Thane. The East Indian Railway Company was established 1 June 1845 in London by a deed of settlement with a capital of £4,000,000, primarily raised in London. The Great Southern India Railway Company was founded in Britain in 1853 and registered in 1859. Construction of track in Madras Presidency began in 1859, and the 80-mile link from Trichinopoly (Tiruchirappalli) to Negapatam (Nagapattinam) opened in 1861. The Carnatic Railway founded in 1864, opened a Madras-Arakkonam-Kancheepuram line in 1865. The Great Southern India Railway Company was subsequently merged with the Carnatic Railway Company in 1874 to form the South Indian Railway Company.

In 1951 the systems were nationalised as one unit as the Indian Railways, becoming one of the largest networks in the world.


As of 2016, it is now fourth largest rail network in the world comprising 119,630 kilometres (74,330 miles) of the entire track and 92,081 km (57,216 mi) of running track over a route of 66,687 km (41,437 miles) with 7,216 stations. The railways carried 8.107 billion passengers annually or more than 22 million passengers a day and 1.101 billion tonnes of freight annually. It is the world's eighth biggest employer and had 1.331 million employees.

UNESCO World Heritage Sites

There are two UNESCO World Heritage Sites on Indian Railways.

  1. The Chatrapati Shivaji Terminus Chhatrapati_Shivaji_Terminus_(Victoria_Terminus)

  2. The Mountain Railways of India

    • Nilgiri Mountain Railway, a 1,000 mm (3 ft 3 3⁄8 in) metre gauge railway in the Nilgiri Hills in Tamil Nadu.
    • Darjeeling Himalayan Railway, a narrow gauge railway in West Bengal.
    • Kalka-Shimla Railway, a narrow gauge railway in the Shivalik Mountains in Himachal Pradesh. In 2003 the railway was featured in the Guinness Book of World Records for offering the steepest rise in altitude in the space of 96 kilometres.

Subscribe to Sulthan Academy for more updates. Leave your comment below.

What’s new in Gretl2017a

Gretl is a free and open source package for econometric analysis on 15-04-2017 updated version gretl2017a was released. The following are the new features, bug fixes and change log of new version.

  • Improved parsing for the member-of relation, on both the left- and right-hand side of hansl statements
  • Calendar: ensure that the Gregorian calendar is used consistently but add some optional support for handling Julian dates (also add a User's Guide chapter on this)
  • xls, xlsx, ods and gnumeric data importers: handle string data (this facility extended from the CSV importer)
  • Remove obsolete Kalman-filter interface
  • Sequential numbering of models: skip models estimated with the --quiet flag and also those estimated within functions
  • Deprecate "=" as obsolete synonym for boolean "=="
  • New functions kmeier() and naalen() for nonparametric estimation of survivor and hazard functions
  • Add normtest() function: works much like the "normtest" command, but handles vectors as well as series
  • Add ecdf() function to compute the empirical CDF for a
      series or vector
  • New function npcorr() for nonparametric correlation, either Kendall's tau or Spearman's rho
  • bwrite() function for writing bundles as XML: support gzip compression if the filename has the ".gz" extension
  • typeof() function: document it, and extend it to cover members of bundles and arrays
  • "include" command: make it respect the "catch" flag, and add a --force option to force re-reading of gfn files
  • "corr" command: add a --plot=filename option; also add matrix option to take data from a named matrix
  • "gnuplot" and "plot" commands: add a --font option
  • "fcast" command: in the case of the --rolling option, accept the name of a scalar variable for the steps-ahead argument; also respect the last observation specification in all cases
  • "tsls" command: calculate Sargan test in overidentified case even when there are no endogenous regressors, to allow "difference in Sargan" test
  • "modtest" command with --autocorr or --arch option, as applied to VAR/VECM: switch from per-equation tests to multivariate tests as described in Lutkepohl's 2005 book, but add a --univariate option to give per-equation tests
  • "var" and "vecm": enable the --window (-w) option to show results in a window from script execution
  • "hausman" command: add options --nerlove and --matrix-diff to inflect the random effects estimator and calculation of the Hausman test statistic
  • Principal Components window in GUI: support selection of a specific number of components to save as series
  • ARMA models in GUI: add menu item to view plot of spectrum versus sample periodogram
  • Bug fixes: functions failing to return loop-index value, couldn't assign to an array member of a bundle, multiple X-Y scatterplots could fail when using long variable names, the matrix-oriented version of the "restrict" command would fail when only the constant was restricted,reading of gzipped matrix files via mread() was much slower than necessary for large matrices, couldn't read .mat (matrix) files generated by R on Windows when they contained NaN values, closing the function package browser while a package is running could cause a crash, possibly misaligned labels when doing a group- means scatterplot using panel data, "outfile" command with --buffer option was failing on MS Windows
  • Update documentation for inlist() function
  • Update translated Command Reference PDF files for Italian and Portuguese
  • Add Galician (Galego) translation of the online Function Reference
  • User's Guide: add a chapter on degrees of freedom correction for standard errors and related statistics
  • Build for Mac OS X: update the bundled GTK stack
  • Builds for MS Windows: update compiler to gcc 5.4.0

Subscribe to Sulthan Academy, stay connected and receive updates.

Calculating Indian Income Tax using R (IndianTaxCalc) - My first R package

Calculating Indian Income Tax using R (IndianTaxCalc)
R is a powerful programming package that can perform many wonders with data analytics. The open platform gives the opportunity to develop package packages and share it with the world. Such that recently I created a package for calculating Income Tax in India. The name of the package is IndianTaxCalc. Using this package, you can calculate Income Tax liability for Financial years of
  • Individual resident aged below 60 years,
  • Senior Citizen,
  • Super Senior Citizen,
  • Firm,
  • Local Authority,
  • Any Non-Resident Individual / Hindu Undivided Family / Association of Persons /Body of Individuals / Artificial Judicial Person,
  • Co-operative Society.

The main advantage of using this package is you can calculate tax for any number of the person or group or mixture of both in single command with data in a spreadsheet. You can Download the package from CRAN here. This is my first package developed for R and the process of submitting and getting it listed in CRAN was very comfortable and the reviewers are very friendly.

Example workings on IndianTaxCalc

##Income Tax calculation for individual

[1] 3090
##Income Tax calculation for Senior Citizen
[1] 13390
##Income Tax calculation for group of individuals
[1]       0    5150       0 2137250
##Income Tax calculation for dataframe with mixed category of data
sdata <- data.frame(income = c(300000, 400000, 5000000,15000000), category = c(1, 2, 3, 4))
[1]       0    5150 1339000 5122963