module Main where
import Finance.Treasury
import qualified Data.Map as M
import Data.List (sort)
import Text.Printf
main = do
putStrLn "**************************************"
m <- getYieldCurveThisMonth
putStrLn "*** pretty print 10y rates for all dates"
prettyYieldCurve m (Just "10y")
--
d <- getLatestYieldCurve
putStrLn "*** pretty print the latest daily yield curve"
prettyYieldCurve (M.fromList [d]) Nothing
--
putStrLn "*** show some yield curves of past year"
h <- getYieldCurveHist
prettyYieldCurve (minmax h) (Just "10y")
mapM_ prt yrs
putStrLn "**************************************"
return ()
where minmax h = M.fromList [ M.findMin h, M.findMax h ]
yrs = reverse [ 1992..2007 ]
prt :: Int -> IO ()
prt yr = do putStrLn $ "*** show some yield curves of "++(show yr)
yc <- getYieldCurveYyyy yr
prettyYieldCurve (minmax yc) (Just "10y")
return ()