Magic use of tab key 
////////////////////////////////
From chapter 1, we know that we should use meaningful names 
for our variables. 

Because of this, the variables name might be quite long, such as 

  DollarRealizedSpread_LR_SW

The disadvantage of using a long name including more typing. 

Sometimes, we could use tab key to make our typing easier. 

After we type just enough letters, we could hit tab key to show a complete name. 
////////////////////////////////

Issue: load_detenv() is False
/////////////////////////
from dotenv import load_dotenv # pip install python-dotenv 
load_dotenv()                  #  .env, which contains your keys, is not available  
False                          #  under the current working directory. 
             
Generate a .env under your current working directory, shown below. 

NASDAQ_API_KEY="fakeKey_abcedfghia3434ldkfjasldfja33lsdfj"
CHATGPT_API_KEY="fakeKey_sk-1uQde3DPAh5piRUudLiFT3BlbkFJVt8d1PG0NFEbp1YTCMab"
ALPHA_API_KEY="fakeKey_8WQVK1DBYWOSKTab"
CENSUS_API_KEY="fakeKey_8fc00b0b35a8e59342b9ea17293da73b607137ab"

import os
from dotenv import load_dotenv  
load_dotenv()  
api_key = os.getenv("NASDAQ_API_KEY")
type(api_key)
print(api_key)
api_key2= os.getenv("CHATGPT_API_KEY")
print(api_key2)

Note: after modifying the .evn file, use load_dotenv(override=True)
      load_dotenv('c://yan/keys.txt') # to load another one
/////////////////////////

show and change our working directory 
////////////////////////////////

  getwd()              # get our current working directory 


  setwd("c:/temp/")  # change our working director to c:/temp

////////////////////////////////

Definition of NPV (Net Present Value) and NPV rule 
////////////////////////////////
Method I: 
           NPV = PV(all benefits) - pv(all costs)

Method II: 
          if cash outflow is defined as a negative value
             cash inflow  is defined as a positive value

          NPV = PV(all cash flows)

  NPV Rule: for an independent project

        if NPV(Project) > 0 accept
        if NPV(Project) < 0 reject

////////////////////////////////