Saturday, September 23, 2017


Humbled... to be nominated for India-International Achievers’ Awards.

Friday, September 22, 2017

Let’s first write a simple Image Recognition Model using Inception V3 and Keras

Image Recognition


Our brains make vision seem easy. It doesn't take any effort for humans to tell apart a lion and a jaguar, read a sign, or recognize a human's face. But these are actually hard problems to solve with a computer: they only seem easy because our brains are incredibly good at understanding images.


VGG16, VGG19, ResNet50, Inception V3, and Xception

State-of-the-art deep learning image classifiers in Keras

Keras ships out-of-the-box with five Convolutional Neural Networks that have been pre-trained on the ImageNet dataset:

  1. VGG16
  1. VGG19
  1. ResNet50
  1. Inception V3
  1. Xception

Inception V3

The goal of the inception module is to act as a “multi-level feature extractor” by computing 1×13×3, and 5×5 convolutions within the same module of the network — the output of these filters are then stacked along the channel dimension and before being fed into the next layer in the network.
The original incarnation of this architecture was called GoogLeNet, but subsequent manifestations have simply been called Inception vN where N refers to the version number put out by Google.


What are we going to Detect?
What does this Image say to a Computer?

Let's check it out :

import numpy as np
from keras.preprocessing import image
from keras.applications import inception_v3

# Load pre-trained image recognition model
model = inception_v3.InceptionV3()

# Load the image file and convert it to a numpy array
img = image.load_img('../input/Huggies.jpg', target_size=(299, 299))
input_image = image.img_to_array(img)

# Scale the image so all pixel intensities are between [-1, 1] as the model expects
input_image /= 255.
input_image -= 0.5
input_image *= 2.

# Add a 4th dimension for batch size (as Keras expects)
input_image = np.expand_dims(input_image, axis=0)

# Run the image through the neural network

predictions = model.predict(input_image)

# Convert the predictions into text and print them
predicted_classes = inception_v3.decode_predictions(predictions, top=1)
imagenet_id, name, confidence = predicted_classes[0][0]
#Let's print what the DL Program say
print("This is a {} with {:.4}% confidence!".format(name, confidence * 100))

Output: This is a diaper with 95.24% confidence!

Tuesday, September 19, 2017


I bought FRESHTROP Fruits at INR 94 on 08th AUGUST 2017 .

WHY ????– a very detailed study on prices across last 10 years or more, using logistic regression and it should that it’s at it lowest trading price.

Today it trades at 143 , today is 19th September , so in around a little more than a month.

Profit per share = 49 Rupees

If you have bought 1000 Shares, ( Investment INR 94000/- Less than a Lakh ) , you have gained around 50,000/- in just 1 month.

Tip – buy now, it will more to 250/- in a period of 1 years or little more .

It’s always make sense to invest with Machine Learning Statistics .

You can follow my blog on investment tips at

#StockTips #MachineLearning #LogisticRegression #AlgorithmicTrading

Saturday, September 16, 2017

Predictions and Suggestions from a machine learning based Algorithmic trading

#MachineLearning #AlgortihmicTrading #StockMarketAutomatedTrading  #LogisticRegression #Boosting

Predictions and Suggestions from a machine learning based Algorithmic trading

An algorithm is a specific set of clearly defined instructions aimed to carry out a task or process.

Algorithmic trading (automated trading, black-box trading, or simply algo-trading) is the process of using computers programmed to follow a defined set of instructions for placing a trade in order to generate profits at a speed and frequency that is impossible for a human trader. The defined sets of rules are based on timing, price, quantity or any mathematical model. Apart from profit opportunities for the trader, algo-trading makes markets more liquid and makes trading more systematic by ruling out emotional human impacts on trading activities.

We can create a Regression formula like below :

The dependent variable is the Return on capital invested and can be run across all stocks.

Error term ei can be boosted using Boosting Algos and thus increasing the prediction accuracy.

Now how to choose your Variables and what can be the ideal STOCK Equation :

YOY Quarterly sales growth  > 15 and
YOY Quarterly profit growth  > 20 and
Net Profit latest quarter  > 1 and
G Factor >= 7 and
Net Profit latest quarter > .33 AND
Other income latest quarter < Net Profit latest quarter * .5 AND
Net Profit preceding year quarter <= 0 AND
Expected quarterly net profit > 0 AND
Sales latest quarter > Sales preceding year quarter   AND
Return on invested capital > 25 and
Earnings yield > 15 and
Book value > 0 AND
Market Capitalization > 15

Graham Number > Current price AND
PB X PE <=22.50 AND
PEG Ratio >0 AND
PEG Ratio <1 .5="" and="" o:p="">
Altman Z Score >=2.5 AND
Sales growth 5Years >25 AND
Profit growth 5Years >15 AND
Current ratio >2 AND
Market Capitalization >250 AND
Sales >100  AND
Piotroski score > 7
Dividend yield > 2 AND
Average 5years dividend > 0 AND
Dividend last year > Average 5years dividend AND
Profit after tax > Net Profit last year * .8 AND
Dividend last year > .35 AND
( Profit growth 3Years > 10 OR
Profit growth 5Years > 10 OR
Profit growth 7Years > 10 ) 
(Market Capitalization > 3000) AND
(Average return on equity 10Years Years > 20) AND
(Debt to equity < 1.5) AND
(Interest Coverage Ratio > 2) AND
( PEG Ratio <= 1) AND
(Profit growth 5Years > 20) 

YOY Quarterly sales growth  > 40 and
YOY Quarterly profit growth  > 40 and
Average return on capital employed 3Years >30 and
Price to Earning <6 o:p="">
Sales growth 10Years > 10 AND
Profit growth 10Years > 12 AND
OPM 10Year > 12 AND
Debt to equity < 0.5 AND
Current ratio > 1.5 AND
Altman Z Score > 3 AND
Average return on equity 10Years > 12 AND
Average return on capital employed 10Years >12 AND
Return on invested capital > 15 AND
Sales last year / Total Capital Employed > 2 AND
Average dividend payout 3years >15

PEG Ratio <1 and="" o:p="">
Sales > 500 AND
Price to Earning < 40 AND
Profit growth > 20 AND
Debt to equity < 0.2 AND
Price to Cash Flow > 5


EPS last year >20 AND
Debt to equity <.1 AND
Average return on capital employed 5Years >35 AND
Market Capitalization >500 AND
OPM 5Year >15

Net Profit latest quarter > Net Profit preceding quarter AND
Net Profit preceding quarter > Net profit 2quarters back AND
Net profit 2quarters back > Net profit 3quarters back


EPS latest quarter > 1.2 * EPS preceding year quarter AND
EPS latest quarter > 0 AND
YOY Quarterly sales growth > 25 AND
EPS last year > EPS preceding year AND
EPS > EPS last year AND
Profit growth 3Years > 25 AND
Return on equity > 17 AND
Down from 52w high < 15 AND
Market Capitalization > 100


Price to Earning >0 and Price to Earning <10 5years="" and="" equity="" growth="" on="" return="">10 and Dividend yield >1 and Return on capital employed >10

Profit growth 5Years > Sales growth 5Years AND
Sales growth 5Years > 3 AND
Return on equity > 15 AND
Working capital 5Years back < 0
Price to Earning >0 and Return on equity 5years growth > 5 and Dividend yield >0  

Note : DEBT reacts inversely to the equation . Term period will be a spread over last 15 to 20 Years. 

Now , applying boosting algorithm ( like XGBoost) you can reduce the error coefficients.

Based on the above equation and a little variation choosing a flattened NN( Neural Network ) below stocks can be looked upon for Indian stock market.






the story of the procession of ants


‘We are waiting for your orders, my Lord’ Vasuki asked looking at the approaching Asura army.
‘Let them come forward. Close...very close’ Shiva replied, looking at the river flowing below. Vasuki presumed looking at the tridents pointing skyward, must have reached the limits of their patience. Scattered stones spanning the river looked like dead soldiers.

Shiva walked up to the edge of the mountain and stooped down. He first looked eastward then westward, and then the river beneath .The river looked beautiful. Shiva watched a column of dark red ants transport mud pebbles across the edge of the mountain. When He laid a clod of earth in their way, they strained to climb over it instead of skirting it. There’s so much to learn from this tiny creature, their fighting spirit, the greatest Lord thought.

Shiva looked back at Vasuki and smiled. ‘Have you heard of the story of the procession of ants?’
‘No my Lord’ Vasuki looked completely perplexed. In this time of great panic and tension, how can the Lord think of a story?
‘It is all in our deeds, my dear friend Vasuki. It is by deeds that one merits happiness or anguish, or becomes a master or a villain. It is by deeds that one attains to the rank of a king or brahmin, or of some god, or of an Indra or a Brahma. And through deeds again, one contracts disease, acquires beauty and deformity, or is reborn in the condition of a monster.
Let me tell you then’...and Lord Shiva started.

‘Once there was a great warrior. After a long and dreadful war he slew the giant Vrtra that had been couching on the mountains in the limbless shape of a cloud serpent, holding the waters of heaven captive in its belly. The warrior flung his weapon, the thunderbolt into the midst of the ungainly coils; the monster shattered like a stack of withered rushes. The waters burst free and streamed in ribbons across the land, to circulate once more through the body of the world.

This flood is the flood of life and belongs to all.
The warrior was Indra, the king of the Gods.

All the divinities of the heavens were acclaiming him their saviour. Greatly elated in his triumph and in the knowledge of his strength, he summoned Vishwakarma, the god of art and craft, and commanded him to erect such a palace as should befit the unequalled splendour of the king of the gods.

The miraculous genius, Vishwakarma, succeeded in constructing in a single year a shining residence, marvellous with palaces and gardens, lakes and towers. But as the work progressed, the demands of Indra became even more exacting and his unfolding visions vaster. He required additional terraces and pavilions, more ponds, groves, and pleasure grounds. Whenever Indra arrived to appraise the work, he developed vision beyond vision of marvels remaining to be contrived.

Finally Vishwakarma brought to despair, realized that he had to do something .When Vishwakarma secretly resorted to the higher throne and presented his case, Brahma comforted the petitioner. “You will soon be relieved of your burden,” he said. “Go home in peace.”
Early next morning a brahmin boy, carrying the staff of a pilgrim, made his appearance at the gate of Indra. The gate-man hurried to the master, and the master hastened to the entrance to welcome in person the auspicious guest. The boy was slender, some ten years old, radiant with the lustre of wisdom.
The boy greeted the host with a gentle glance of his dark and brilliant eyes. The king bowed to the holy child and the boy cheerfully gave his blessing. The two retired to the hall of Indra, where the god ceremoniously welcomed his guest with oblations of honey, milk, and fruits, and then asked about the purpose of the boy's visit.
The beautiful child replied with a voice that was as deep and soft as the slow thundering of auspicious rain clouds. “O King of Gods, I have heard of the mighty palace you are building, and have come to refer to you the questions in my mind. How many years will it require to complete this rich and extensive residence? What further feats of engineering will Vishwakarma be expected to accomplish? O Highest of the Gods,”-the boy's luminous features moved with a gentle, scarcely perceptible smile- “no Indra before you have ever succeeded in completing such a palace as yours is to be.”
Full of the wine of triumph, the king of the gods was entertained by this mere boy's pretension to have the knowledge of Indras earlier than himself. 

With a fatherly smile he put the question. “Tell me, Child! Are they then so very many, the Indras and Vishwakarmas whom you have seen-or at least, whom you have heard of?”
The wonderful guest calmly nodded. “Yes, indeed, many have I seen. I knew your father, Kashyapa, the Old Tortoise Man, lord and progenitor of all the creatures of the earth. And I knew your grandfather, Marichi, Beam of Celestial Light, who was the son of Brahma. Marichi was begotten God Brahma’s pure spirit; his only wealth and glory were his sanctity and devotion. Also, I know Brahma, brought forth by Vishnu from the lotus calyx growing from Vishnu's navel. And Vishnu himself-the Supreme Being, supporting Brahma in his creative endeavour-him too I know.
When Brahma closes his eyes, a world goes out of being. The life of a Brahma is four hundred and thirty-two thousand years. When he dies, the lotus goes back, and another lotus is formed, and another Brahma. Then think of the galaxies beyond galaxies in infinite space, each a lotus with a Brahma sitting on it opening his eyes, closing his eyes. And Indras? There may be wise men in your court who would volunteer to count the drops of water in the oceans of the world or the grains of sand on the beaches, but no one would count those Brahmas, let alone those Indras.”
While the boy was talking, an army of ants had emerged in the hall and paraded across the floor in military style. The boy laughed when he saw them, and Indra's hairs stood on end, “Why do you laugh?”, stammered Indra,
“who are you? why you know so much? What are these ants doing here?"
“The truth hurts.” answered the boy, “Don't ask unless you really want to know.”

Thursday, September 14, 2017

Did you know TensorFlow is Life-Saving ? Read- on

#MachineLearning #DeepLearning #ML #AI #ArtificialIntelligence #TensorFlow

Beginner’s guide to Tensorflow

Did you know TensorFlow is Life-Saving ? Read- on


The primary software tool of Deep Learning is TensorFlow. It is an open source artificial intelligence library, using data flow graphs to build models.

 It allows developers to create large-scale neural networks with many layers.


TensorFlow is mainly used for:

1)  Voice/Sound Recognition
2)  Text Based Applications
3)  Image Recognition
4)  Video Detection


 Nasa ( National Aeronautics and Space Administration) is designing a system with TensorFlow for orbit classification and object clustering of asteroids. As a result, they can classify and predict NEOs (near earth objects). ( So, in a way TensorFlow is life-saving!!! )


TensorFlow is a library for numerical computation where data flows through the graph.

 Data in TensorFlow is represented by n-dimensional arrays called Tensors.

Graph is made of data(Tensors) and mathematical operations
§  Nodes on the graph: represent mathematical operations. 
§  Edges on the graph: represent the Tensors that flow between operations. 

There is one more aspect in which TensorFlow is very different from any other programming language.

In TensorFlow, you first need to create a blueprint of whatever you want to create. While you are creating the graph, variables don’t have any value. Later when you have created the complete graph, you have to run it inside a session, only then the variables have any values.

import tensorflow as tf  

Graph in TensorFlow:

GRAPH is the backbone of TensorFlow and every computation/operation/variables reside on the graph. Everything that happens in the code, resides on a default graph provided by TensorFlow. You can access this graph by:

graph = tf.get_default_graph()

Next big thing, Session!

A GRAPH  is used to define operations, but the operations can  only run within a SESSION. Graphs and sessions are created independently of each other.

Sess = tf.Session()
Tensors in Tensorflow:

TensorFlow holds Data in tensors

i)                Constants

are constants whose value can’t be changed. You can declare a constant like this: 


ii)                   Variables

are again Tensors which are like variables in any other language. 

iii)                 PlaceHolders

are tensors which are waiting to be initialized/fed. Placeholders are used for training data which is only fed when the code is actually run inside a session. What is fed to Placeholder is called feed_dict. Feed_dict are key value pairs for holding data:

a = tf.placeholder("float")