Election Day hours

Watson Library of Business & Economics will be closing early at 9pm on Monday, November 6th, and will be entirely closed for Election Day, Tuesday, November 7th.

Regular hours resume on Wednesday, November 8th, and can be found listed here…


Restricted Hours

From 8am to 7pm, Monday to Friday, October 4th to October 20th, Watson Library is open to all current graduate students, undergraduates in economics, faculty and staff. At all other times during these two weeks, i.e. after 7pm until close and all open hours on Saturday and Sunday, Watson Library is available to all University affiliates.

If you need materials or services during the 8am to 7pm period designated above and you are not in one of the groups listed please ask a library staff member for help. Study space is available in Butler Library, Lehman Library (3rd floor of the International Affairs Building), and the Science and Engineering Library (campus level of the NorthWest Corner Building).

Sign up for our Bloomberg Introductory Training

Students, welcome back!!!

Interested in learning more about the Bloomberg Terminal?  Sign up for Bloomberg Introductory Training Workshops.   To register visit the following link:  http://bit.ly/bloombergworkshop

The dates and times for the sessions are as follows:

Introduction to the Bloomberg Terminal Fri 9/15, 10:00-11:00a Business Library, 130 Uris Hall
Introduction to the Bloomberg Terminal Fri 9/22, 10:00-11:00a Business Library, 130 Uris Hall
Introduction to the Bloomberg Terminal Fri 9/29, 10:00-11:00a Business Library, 130 Uris Hall
Introduction to the Bloomberg Terminal Fri 10/6, 10:00-11:00a Business Library, 130 Uris Hall
Introduction to the Bloomberg Terminal Thur 10/19, 2:00-3:00p Lehman Library
Introduction to the Bloomberg Terminal Fri 10/27, 10:00-11:00a Business Library, 130 Uris Hall
Introduction to the Bloomberg Terminal Fri 11/10, 10:00-11:00a Lehman Library
Introduction to the Bloomberg Terminal Fri 12/1, 10:00-11:00a Business Library, 130 Uris Hall
Introduction to the Bloomberg Terminal Thur 12/7, 2:00-3:00p Business Library, 130 Uris Hall

New Dataset: Annual Survey of Industries Detailed Unit Level Data with Common Factory-ID

Annual Survey of Industries (ASI) Detailed Unit Level Data with Common Factory-ID is now available to Columbia University students.  The Library has data from 1998 to 2014.

The Annual Survey of Industries (ASI) is the principal source of Industrial Statistics in
India. The ASI extends to the entire country except the States of Arunachal Pradesh and Mizoram and Union territory of Lakshadweep. It covers all factories registered under the section 2(m) (i) and 2(m) (ii) of the Factories Act 1948 i.e. those factories employing 10 or more workers using power; and those employing 20 or more workers without using power. The survey also covers Bidi and cigar manufacturing establishments registered under the Bidi and Cigar workers (Conditions of Employment) Act 1966 and electricity undertaking with coverage as above.

ASI provides data on a various vital aspects of the registered factories for use in the
estimation of National Income, studies of industrial structure and policy formulation.
Some of the important indicators generated based on ASI are number of factories,
employment, wages, invested capital, capital formation, input, output, depreciation and
value added on an annual basis.

With firm identifiers from the firm-level data, researchers can do longitudinal research
to track the same company over time periods as long as it is included in the ASI.

For more detailed information about this panel data structure, please contact business@library.columbia.edu.

Intersession & Orientation hours

The hours of operations for Watson Library of Business & Economics during the Intersession and Orientation period will be…


Sunday 8/13  :  10am – 11pm

Monday 8/14  :  8am – 5pm

Tuesday 8/15 – Friday 8/18  :  8am – 5pm

Saturday 8/19 – Sunday 8/20  :  CLOSED

Monday 8/21 – Friday 8/25  :  8am – 5pm

Saturday 8/26 – Sunday 8/27  :  10am – 6pm

Monday 8/28  :  8am – 8:30pm

Tuesday 8/29  :  8am – 10pm

Wednesday 8/30  :  8am – 7pm

Thursday 8/31  :  8am – 10pm

Friday 9/01 (closed for Lead Exam 8am-1pm)  :  1pm – 5pm

Saturday 9/02 – Monday 9/04 (Labor Day weekend)  :  Closed      


A full schedule of the Library’s hours of operations can be found here:


Summer Exam Hours

Watson Library of Business & Economics will have extended hours on the following dates for final exam studying…

Thursday 8/10 :  8am – Midnight

Friday 8/11 :  8am – 10pm

A full schedule of the Library’s hours of operations can be found here:


Independence Day weekend

The Watson Library of Business & Economics will be open for reduced hours starting on Friday, June 30th.  Our hours of operation for the Independence Day weekend will be…

Friday 6/30:  8am – 5pm

Saturday 7/01:  10am – 6pm

Sunday 7/02:  10am – 6pm

Monday 7/03:  8am – 5pm

Tuesday 7/04:  CLOSED

Regular hours resume at 8am on Wednesday 7/05 and can be found on this schedule… https://hours.library.columbia.edu/?library=business

If you have any questions, you may contact our staff at 212-854-7804 or business_circulation@library.columbia.edu






Investor Activism data template on Capital IQ!

In partnership with S&P’s Investment Banking team, Capital IQ just released a new template called Investor Activism for the S&P Capital IQ Office plug-in.

Investor Activism data is a popular, high quality data set that has been available on the CIQ platform for years. Many S&P Capital IQ clients, in particular in the corporate, investment management and investment banking segments, have asked to also have this data available in the Excel plug in.  Clients can now enter a subject Company ID or Activist ID and see all the campaigns against or initiated by that company.

Applicable Client Workflows:

Investment Managers, Investment Banks, and Corporate

How Clients Get This Template:  To download the template within the SP CIQ Office plug-in ribbon, go to Templates >> Get/Update Templates >> + New Templates or Transaction >> Investor Activism

Memorial Day weekend

Watson Library of Business & Economics will be closing at 6pm today (Friday 5/26) and remain closed for the Memorial Day Weekend (Sat 5/27-Mon 5/29).  Regular Summer hours will resume at 8am on Tuesday 5/30.  https://hours.library.columbia.edu/?library=business

Getting Started with TwitteR

Recently, I used TwitteR package to scrap data from Twitter for sentiment data analysis. Here is a step by step guide on how to get started.

  1. Download the TwitteR package and make it available in your R session 
  2. Set up Twitter account for API access
    • You need to have a twitter account.
    • Go to https://apps.twitter.com and sign on with your twitter account.
    • Once you have signed in you should see the following screen, and simply click on the button that says “Create New App”.
    • Once you click on the “Create New App” button you will go to the Create an Application screen. There are three fields, a click box and a button you need to click on this page. The three fields are Name, Description and Website. The name of the application must be unique so this may take a few tries. The description needs to be at least 10 character long, and put in a website. If you do not have one you can use https://bigcomputing.blogspot.com. Now click the “Yes, I agree” box for the license agreement and click the “Create your Twitter application”.
    • Once you successfully create an application you will be taken to the application page. Once there click on the “key and access token” tab. From that page you are going to need four things.
      1. Consumer Key (API Key)
      2. Consumer Secret (API Secret)
        Click the “Create my access token” button.
      3. Access Token
      4. Access Token Secret
  3. Now re-open your R session and enter the following code using those four pieces of information
    consumer_key <- “your_consumer_key”
    consumer_secret <- “your_consumer_secret”
    access_token <- “your_access_token”
    access_secret <- “your_access_secret”
    setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret) 
  4. Set up authentication
    destfile=”C:\\Users\\CHUBING\\Desktop\\Final Project\\text_mining_and_web_scraping\\cacert.pem”, method=”auto”)authenticate <- OAuthFactory$new(consumerKey=consumer_key,
    authURL=”https://api.twitter.com/oauth/authorize”)setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)save(authenticate, file=”twitter authentication.Rdata”)
  5. Scrap Twitter Data – 60000 raw tweets
    #latest tweets
    tweets_trump <- searchTwitter(‘Donald+Trump’, lang=”en”,n=2000,resultType=”recent”)# Loop over tweets and extract text
    donald = lapply(tweets_trump, function(t) t$getText())
  6. Once you have the twitter data file, it’s rather messy. First, we need to convert it to data frame to make it easier for ggplot.
    # Create dataframe from twitter result matrix
    tweet.df <- twListToDF(donald)
  7. Twitter no longer provides location data for each tweet, so to gather location information, you will have to use the location information provided by users in their user profiles.
    # Look up twitter users information by screen names
    users <- lookupUsers(tweet.df$screenName)
    # Create dataframe from twitter users matrix
    users_df <- twListToDF(users)
    # Merge two data frames together
    merge(tweet.df, users_df, by=”screenName”)
  8. Clean up messy data in Twitter data
    # Remove duplicates
    total <- unique(total)
    # Place NAs in empty cells in location column
    total$location <- replace(total$location, total$location==””,NA)
    # Remove location rows with NAs
    total <- total[complete.cases(total$location), ]
    # Clean up emojis
    total$text_clean <- str_replace_all(total$text,”[^[:graph:]]”, ” “)
    # Remove punctuation
    total$text_clean <- gsub(“[[:punct:]]”, “”, total$text_clean)
    # Remove control characters
    total$text_clean <- gsub(“[[:cntrl:]]”, “”, total$text_clean)
    # Remove digits
    total$text_clean <- gsub(‘\\d+’, ”, total$text_clean)
    # Remove URLs from string
    total$text_clean <- gsub(“(f|ht)tp(s?)://(.*)[.][a-z]+”, “”, total$text_clean)#The above expression explained:#? optional space
    #(f|ht) match “f” or “ht”
    #tp match “tp”
    #(s?) optionally match “s” if it’s there
    #(://) match “://”
    #(.*) match every character (everything) up to
    #[.|/] a period or a forward-slash
    #(.*) then everything after that