Tuesday, March 12, 2013

Grails Plugin for Yahoo Finance

I've recently experimented on taking web-services JSON response and automatically putting these into java object/s. So playing around with Yahoo YQL resulted in this Grails open-source plugin. It has been approved recently and is located in github.

Github - ibaralf YahooFinance

After installing the plugin, it gives the user several methods to retrieve company stock statistics as well as stock historical data.

In a service or controller:

You can call the methods available in the YahooFinanceYQLService.
  • yahooFinanceYQLService.quote(String symbols)
  • yahooFinanceYQLService.quote(String symbols, String statistics)
  • yahooFinanceYQLService.getHistoricalQuotes(String symbol, int numberOfDays)
  • yahooFinanceYQLService.getHistoricalQuotes(String symbol, String startDate, String endDate)
  • yahooFinanceYQLService.getHistoricalQuotes(String symbol, Date startDate, Date endDate)
  • yahooFinanceYQLService.availableStats - list of all statistics that can be retrieved.

NOTE: One thing peculiar with Yahoo web-services (especially their finance service), there seems to be 2 different web-services running, first - the Yahoo Query Language YQL and the other web-service that returns CSVs as explained here in gummy-stuff website. The plugin implements both, but ended up using the CSV service since it seems to be more reliable.

* IMPORTANT: PLEASE READ

* I do not guarantee the reliability or availability of the Yahoo web services.
* I am not qualified, licensed, approved or authorized to make any investment recommendations or give any such advice.
* All data and information on this site is based on data from sources that are not under my control.
* I cannot guarantee the accuracy of any of the data, in fact I know of some significant data problems such as, but not limited to, incorrect stock splits that lead to radically incorrect prices.
* No investing decision should be taken based on the information on this site alone, and none of the information here is a recommendation to buy or sell any security!!
* Do the appropriate further analysis and due diligence before investing.
* I make no guarantees whatsoever about future returns using the methods.

Tuesday, January 15, 2013

Getting Stock Historical Data using YQL

select * from yahoo.finance.historicaldata where symbol="GOOG" and startDate="2010-02-08" and endDate="2010-03-10"
http://developer.yahoo.com/yql/console/

Monday, October 22, 2012

Removing trailing dos carriage returns ^M

Sometimes when you're comparing text files, the lines looks identical but the diff command shows that the two lines are different. One reason might be because one file has dos carriage returns (^M) and the other doesn't. One easy way to check this is by opening the file using VI, ^M will show up at the end of the lines as shown:
There are several ways of removing this dos carriage return, but my preferred tool is sed. I had a problem getting sed to substitute this because you need to actually type CTRL-V CTRL-M when writing the regular expression.
    unix$ sed 's/^M//g' -i myfile.txt
NOTE: type CTRL-V CTRL-M for the pattern inside '/s/^M//g'. The above sed pattern deletes all occurrence of ^M and saves it on the same file using the -i argument.

Tuesday, October 16, 2012

MYSQL: How to get the summary of tables in a DB

I sometimes want to see the number of rows in the tables of my DB. Instead of using COUNT for each table, use this command to get the summary of your database.
   mysql> show table status; 
Results: +----------------------------------------+--------+---------+------------+-------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +----------------------------------------+--------+---------+------------+-------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+---------+ | account_customer | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 51380224 | 1 | 2012-10-16 12:34:33 | NULL | NULL | latin1_swedish_ci | NULL |

Thursday, September 13, 2012

configure: error: Your intltool is too old.

While installing a new application on Ubuntu 12.04, I got this error when I ran ./configure:

configure: error: Your intltool is too old. You need intltool 0.40.0 or later.

Seems like the error message is a bit inaccurate, you're probably missing this software package. You need to install it using apt-get.

ubuntu12.04$ sudo apt-get install intltool

This should fix the error.

BTW: I encountered this issue when installing a very nice small application called alarm-clock. What I like about it is that it can be set two different ways - a) have an alarm go off at a certain time, or b) have a timer count down. See snapshot below.

Friday, August 31, 2012

Useful links

This might be helpful to those that have cut their cable TV.

http://jarkhd.blogspot.com/2011/10/hacking-digital-cable.html