(*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 0, 0] NotebookDataLength[ 175565, 3846] NotebookOptionsPosition[ 166550, 3574] NotebookOutlinePosition[ 169580, 3651] CellTagsIndexPosition[ 169537, 3648] WindowFrame->Normal ContainsDynamic->True *) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["\<\ Tutorial: Downloading Yield Curve Data from the Treasury Website - V6\ \>", "Title", CellChangeTimes->{{3.397874307685606*^9, 3.397874310647931*^9}, { 3.399574332802154*^9, 3.399574350817339*^9}}], Cell[TextData[{ "Robert J. Frey, Research Professor\n", ButtonBox["http://www.ams.sunysb.edu/~frey/", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://www.ams.sunysb.edu/~frey/"], None}], "\nStony Brook University, Applied Mathematics and Statistics\nSeptember 24, \ 2007" }], "Subsubsection", CellChangeTimes->{{3.399574369808156*^9, 3.399574373202613*^9}}], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " ", StyleBox["V6", FontSlant->"Italic"], " now has the function FinancialData[]; however, the databases it accesses \ may not provide all of the information needed. This notebook illustrates how \ to download yield curve data from the Treasury website and is useful as an \ example of how one can access, visualize and process XML data. An extended \ example at the end deals with building a simple database and using various \ graphical tools to visualize the data." }], "Subsubtitle", CellChangeTimes->{{3.397874907204424*^9, 3.397875160995125*^9}, { 3.397875202745075*^9, 3.397875253767268*^9}, {3.399260856709985*^9, 3.399260962516384*^9}, {3.399574386411727*^9, 3.399574587359062*^9}, { 3.40076271446249*^9, 3.40076274772257*^9}}], Cell["\<\ Revised 06-Oct-07: Introduced function for more efficient extraction of yield \ curves over a whole year. Corrected potential variable shadowing conflicts. \ Introduced a more robust logic into the parsing the XML yield curve \ specification.\ \>", "Subsubsection", CellChangeTimes->{{3.399755008252297*^9, 3.399755086632766*^9}, { 3.399763232687749*^9, 3.399763233177496*^9}, {3.399766551721805*^9, 3.399766575980958*^9}, {3.399813499719434*^9, 3.399813537854011*^9}, { 3.400694497198389*^9, 3.400694499497439*^9}}], Cell[CellGroupData[{ Cell["Packages", "Section", CellChangeTimes->{{3.400761930386586*^9, 3.4007619363468733`*^9}}], Cell[BoxData[ RowBox[{"<<", "Histograms`"}]], "Input", CellChangeTimes->{{3.40076397428409*^9, 3.400763979583158*^9}}], Cell[BoxData[ RowBox[{"<<", "StatisticalPlots`"}]], "Input", CellChangeTimes->{{3.400761938658984*^9, 3.400761943987121*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["Visualizing XML", "Section", CellChangeTimes->{{3.39956487533842*^9, 3.399564880317114*^9}}], Cell[TextData[{ "The code for XMLNote[] is taken directly from the ", StyleBox["Mathematica ", FontSlant->"Italic"], "Documentation Center. XMLNote[] calls itself recursively and builds a \ Notebook[] object which represents the structure of an XMLObject[], the \ symbolic representation of an XML document in ", StyleBox["Mathematica. ", FontSlant->"Italic"], "For more information about XML read the ", StyleBox["Mathematica", FontSlant->"Italic"], " Documentation Center and good general reference, e.g., ", ButtonBox["http://en.wikipedia.org/wiki/XML", BaseStyle->"Hyperlink", ButtonData->{ URL["http://en.wikipedia.org/wiki/XML"], None}], " is one place to start." }], "Text", CellChangeTimes->{{3.399578776253725*^9, 3.399578919621516*^9}, { 3.3995789595374327`*^9, 3.399578995862274*^9}, {3.3995798634634933`*^9, 3.399579866274054*^9}, {3.399583417988154*^9, 3.399583428623128*^9}, { 3.3995834909846687`*^9, 3.3995835445813017`*^9}, {3.3995836070321198`*^9, 3.399583631104682*^9}, {3.400762444282464*^9, 3.400762445368702*^9}, { 3.400762493550289*^9, 3.400762493574582*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"XMLNote", "[", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{"tag_", ",", "attributes_", ",", "data_"}], "]"}], ",", " ", "m_Integer"}], "]"}], ":=", RowBox[{"Cell", "[", RowBox[{ RowBox[{"CellGroupData", "[", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{ RowBox[{"Cell", "[", RowBox[{"TextData", "[", "\[IndentingNewLine]", RowBox[{"StyleBox", "[", RowBox[{"tag", ",", RowBox[{"FontFamily", "\[Rule]", "\"\\""}], ",", "\[IndentingNewLine]", RowBox[{"FontWeight", "\[Rule]", "\"\\""}], ",", RowBox[{"FontSize", "\[Rule]", "15"}]}], "]"}], "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Sequence", "@@", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"XMLNote", "[", RowBox[{"#1", ",", "m"}], "]"}], "&"}], ")"}], "/@", "attributes"}]}], ",", "\[IndentingNewLine]", RowBox[{"Sequence", "@@", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"XMLNote", "[", RowBox[{"#1", ",", RowBox[{"m", "+", "30"}]}], "]"}], "&"}], ")"}], "/@", "data"}]}]}], "\[IndentingNewLine]", "}"}], ",", "Open"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"CellMargins", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"m", ",", "Inherited"}], "}"}], ",", RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]}], "}"}]}]}], "]"}]}]], "Input", CellID->1799], Cell[BoxData[ RowBox[{ RowBox[{"XMLNote", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"an_String", ",", "a_String"}], "}"}], "\[Rule]", "v_String"}], ",", "m_Integer"}], "]"}], ":=", "\[IndentingNewLine]", RowBox[{"Cell", "[", RowBox[{ RowBox[{"TextData", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"StyleBox", "[", RowBox[{"an", ",", RowBox[{"FontColor", "\[Rule]", RowBox[{"Hue", "[", "0.6", "]"}]}]}], "]"}], ",", "\"\< \>\"", ",", "\[IndentingNewLine]", RowBox[{"StyleBox", "[", RowBox[{"a", ",", RowBox[{"FontWeight", "\[Rule]", "\"\\""}]}], "]"}], ",", "\"\< = \>\"", ",", "\[IndentingNewLine]", RowBox[{"StyleBox", "[", RowBox[{"v", ",", RowBox[{"Background", "\[Rule]", RowBox[{"GrayLevel", "[", "0.8", "]"}]}]}], "]"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"CellMargins", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"m", "+", "5"}], ",", "Inherited"}], "}"}], ",", RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]}], "}"}]}]}], "]"}]}]], "Input", CellID->5712], Cell[BoxData[ RowBox[{ RowBox[{"XMLNote", "[", RowBox[{ RowBox[{"a_String", "\[Rule]", "v_String"}], ",", "m_Integer"}], "]"}], ":=", "\[IndentingNewLine]", RowBox[{"Cell", "[", RowBox[{ RowBox[{"TextData", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"StyleBox", "[", RowBox[{"a", ",", RowBox[{"FontWeight", "\[Rule]", "\"\\""}]}], "]"}], ",", "\"\< = \>\"", ",", "\[IndentingNewLine]", RowBox[{"StyleBox", "[", RowBox[{"v", ",", RowBox[{"Background", "\[Rule]", RowBox[{"GrayLevel", "[", "0.8", "]"}]}]}], "]"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"CellMargins", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"m", "+", "5"}], ",", "Inherited"}], "}"}], ",", RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]}], "}"}]}]}], "]"}]}]], "Input", CellID->30209], Cell[BoxData[ RowBox[{ RowBox[{"XMLNote", "[", RowBox[{"s_String", ",", "m_Integer"}], "]"}], ":=", "\[IndentingNewLine]", RowBox[{"Cell", "[", RowBox[{"s", ",", RowBox[{"Background", "\[Rule]", RowBox[{"GrayLevel", "[", "0.9", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"CellMargins", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"m", "+", "25"}], ",", "Inherited"}], "}"}], ",", RowBox[{"{", RowBox[{"Inherited", ",", "Inherited"}], "}"}]}], "}"}]}]}], "]"}]}]], "Input", CellID->23263], Cell["\<\ The code for XMLAsNotebook[] is a convenient wrapper that takes an \ XMLObject[], uses XMLNote[] to create a notebook representation of it, and \ then puts the notebook out for inspection. The options available are those \ available for Notebook[]: the most common one is WindowTitle, and \ CellGrouping is set to \"Manual\" unless explicitly overridden.\ \>", "Text", CellChangeTimes->{{3.3995790037026052`*^9, 3.399579213636425*^9}, { 3.400693037893358*^9, 3.400693061042006*^9}, {3.400693232988698*^9, 3.4006932489751377`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"XMLAsNotebook", "[", RowBox[{ RowBox[{"xml_", "?", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "\[LeftDoubleBracket]", RowBox[{"0", ",", "0"}], "\[RightDoubleBracket]"}], "\[Equal]", "XMLObject"}], "&"}], ")"}]}], ",", RowBox[{"opts", ":", RowBox[{"OptionsPattern", "[", "]"}]}]}], "]"}], ":=", "\[IndentingNewLine]", RowBox[{"NotebookPut", "[", "\[IndentingNewLine]", RowBox[{"Notebook", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"XMLNote", "[", RowBox[{ RowBox[{"xml", "[", RowBox[{"[", "2", "]"}], "]"}], ",", "0"}], "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"FilterRules", "[", RowBox[{ RowBox[{"Join", "[", RowBox[{ RowBox[{"{", "opts", "}"}], ",", RowBox[{"{", RowBox[{"CellGrouping", "\[Rule]", "\"\\""}], "}"}]}], "]"}], ",", RowBox[{"Options", "[", "Notebook", "]"}]}], "]"}]}], "\[IndentingNewLine]", "]"}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.399264014831896*^9, 3.3992640494433727`*^9}, 3.39926409031957*^9, {3.3992641297862787`*^9, 3.39926414116608*^9}, { 3.399265322404146*^9, 3.399265342605092*^9}, {3.3992654274276342`*^9, 3.3992654312138233`*^9}, {3.399319730309627*^9, 3.399319742519763*^9}, 3.39931977898354*^9, 3.399320573271325*^9, {3.3993206041541367`*^9, 3.399320631190982*^9}, {3.3993207128805532`*^9, 3.399320714876691*^9}, 3.399564742553306*^9, {3.3995749220305967`*^9, 3.3995749297885237`*^9}, { 3.399575044913209*^9, 3.3995750508165092`*^9}, 3.399575144752084*^9, { 3.39957529554074*^9, 3.3995752971508827`*^9}, {3.399575367525848*^9, 3.3995754376342583`*^9}, {3.399575837689269*^9, 3.399575858439726*^9}, { 3.399575900277891*^9, 3.3995759103577137`*^9}, {3.399575945483616*^9, 3.3995759646934547`*^9}, {3.4006927166576433`*^9, 3.4006928397654343`*^9}, {3.400692888305728*^9, 3.4006928958139963`*^9}, { 3.400692966916831*^9, 3.4006930027891417`*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["Treasury Yield Curve Data in XML Format", "Section", CellChangeTimes->{{3.3995648888469477`*^9, 3.399564900566395*^9}}], Cell[TextData[{ "The U.S. Treasury website ", ButtonBox["http://www.treas.gov", BaseStyle->"Hyperlink", ButtonData->{ URL["http://www.treas.gov"], None}], " provides historic yield curve data on a year-by-year basis from 1990 on, \ inclusive. The current year's URL ends in \"...yield_historical.xml\" while \ prior years end in \"...yield_historical_.xml\" where \"\" is the \ four digit year. There is no error checking. If you put in a future year, \ then you get the current year. If you put in a year prior to 1990, you will \ get a well formed URL but, barring future changes, it will not exist on the \ website." }], "Text", CellChangeTimes->{{3.39957988081243*^9, 3.399580047369166*^9}, { 3.399583985056027*^9, 3.399584096951683*^9}, {3.400762524178952*^9, 3.4007625553543797`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xTreasYieldCurveURL", "[", "iYear_Integer", "]"}], ":=", RowBox[{"If", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"First", "[", RowBox[{"DateList", "[", "]"}], "]"}], "\[LessEqual]", "iYear"}], ",", "\[IndentingNewLine]", "\"\\"", ",", RowBox[{ "\"\\"", "<>", RowBox[{"ToString", "[", "iYear", "]"}], "<>", "\"\<.xml\>\""}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.3994605660123777`*^9, 3.399460655039464*^9}, { 3.39954041810797*^9, 3.399540420370332*^9}, {3.399540460213327*^9, 3.3995405739689198`*^9}, {3.399540630013266*^9, 3.399540632946566*^9}, { 3.399583930312643*^9, 3.3995839312982683`*^9}, {3.399583965960318*^9, 3.399583968683845*^9}}], Cell["You can download all of the data by using the symbol All.", "Text", CellChangeTimes->{{3.400693610626535*^9, 3.40069362819888*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xTreasYieldCurveURL", "[", RowBox[{"_Symbol", "?", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"SymbolName", "[", "#", "]"}], "\[Equal]", "\"\\""}], "&"}], ")"}]}], "]"}], ":=", "\"\\""}], ";"}]], "Input", CellChangeTimes->{{3.3998150703443108`*^9, 3.399815081055932*^9}, { 3.399815194691578*^9, 3.399815237352442*^9}}], Cell["\<\ This is a utility function that extracts the XML data for all trading dates \ from the XMLObject[] imported from the Treasury website. \ \>", "Text", CellChangeTimes->{{3.399580611510085*^9, 3.399580702035511*^9}, { 3.399754454967202*^9, 3.399754457377685*^9}, 3.399755111681892*^9, { 3.399765431368174*^9, 3.399765433117003*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xExtractTreasForAllDates", "[", RowBox[{"xml_", "?", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "\[LeftDoubleBracket]", RowBox[{"0", ",", "0"}], "\[RightDoubleBracket]"}], "\[Equal]", "XMLObject"}], "&"}], ")"}]}], "]"}], ":=", "\[IndentingNewLine]", RowBox[{"Select", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Cases", "[", "\[IndentingNewLine]", RowBox[{"xml", ",", "\[IndentingNewLine]", RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", "_", ",", RowBox[{"{", RowBox[{"___", ",", RowBox[{"XMLElement", "[", RowBox[{"_", ",", "_", ",", "_"}], "]"}], ",", "___"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", "\[Infinity]"}], "\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Length", "[", RowBox[{"First", "[", RowBox[{"Cases", "[", RowBox[{"#", ",", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", "_", ",", "sReason_"}], "]"}], "\[RuleDelayed]", "sReason"}], ",", "\[Infinity]", ",", "1"}], "]"}], "]"}], "]"}], "\[Equal]", "0"}], "&"}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.399754376158216*^9, 3.399754422835691*^9}, { 3.399764132149931*^9, 3.399764170622726*^9}, {3.3997642641068497`*^9, 3.3997643087556887`*^9}, {3.39976434147159*^9, 3.3997644022723837`*^9}, { 3.399764487940811*^9, 3.399764502112433*^9}, 3.399765353877936*^9}], Cell["\<\ This is a utility function that extracts the XML data for a specific date \ from the XMLObject[] imported from the Treasury website. The date argument is \ a string in \"DD-MMM-YY\" format, e.g. \"03-JAN-06\".\ \>", "Text", CellChangeTimes->{{3.399580611510085*^9, 3.399580702035511*^9}, { 3.399754475840619*^9, 3.399754532188138*^9}, 3.399755119419249*^9}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xExtractTreasForDate", "[", RowBox[{ RowBox[{"xml_", "?", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "\[LeftDoubleBracket]", RowBox[{"0", ",", "0"}], "\[RightDoubleBracket]"}], "\[Equal]", "XMLObject"}], "&"}], ")"}]}], ",", "sDate_String"}], "]"}], ":=", RowBox[{"First", "[", RowBox[{"Cases", "[", "\[IndentingNewLine]", RowBox[{"xml", ",", "\[IndentingNewLine]", RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", "_", ",", RowBox[{"{", RowBox[{"___", ",", RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "sDate", "}"}]}], "]"}], ",", "___"}], "}"}]}], "]"}], ",", "\[IndentingNewLine]", "\[Infinity]", ",", "\[IndentingNewLine]", "1"}], "\[IndentingNewLine]", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.399460806153755*^9, 3.3994608735290403`*^9}, { 3.399537974942774*^9, 3.3995379835974293`*^9}, {3.399539774100244*^9, 3.399539776943818*^9}, {3.39956503627874*^9, 3.399565038814374*^9}, { 3.399764841528429*^9, 3.399764844301062*^9}}], Cell["\<\ Only dates for which the market is open contain meaningful data. This \ function returns the list of open market dates as strings in \"DD-MMM-YY\" \ format, e.g. \"03-JAN-06\".\ \>", "Text", CellChangeTimes->{{3.3995807223657846`*^9, 3.399580848555224*^9}, 3.399755158919051*^9}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xExtractOpenMarketDates", "[", RowBox[{"xml_", "?", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"#", "\[LeftDoubleBracket]", RowBox[{"0", ",", "0"}], "\[RightDoubleBracket]"}], "\[Equal]", "XMLObject"}], "&"}], ")"}]}], "]"}], ":=", "\[IndentingNewLine]", RowBox[{"Pick", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Cases", "[", RowBox[{"xml", ",", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", "_", ",", RowBox[{"{", "sDate_", "}"}]}], "]"}], "\[RuleDelayed]", "sDate"}], ",", "\[IndentingNewLine]", "\[Infinity]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Length", "[", "#", "]"}], "\[Equal]", "0"}], "&"}], "/@", RowBox[{"Cases", "[", RowBox[{"xml", ",", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", "_", ",", "sReason_"}], "]"}], "\[RuleDelayed]", "sReason"}], ",", "\[IndentingNewLine]", "\[Infinity]"}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.399538082698393*^9, 3.399538155939102*^9}, { 3.399538188511363*^9, 3.399538332266368*^9}, {3.399582935074399*^9, 3.3995829531037083`*^9}, {3.3995832224707413`*^9, 3.399583247609633*^9}, { 3.3995833154423637`*^9, 3.399583337655529*^9}, {3.3997638744214277`*^9, 3.399763907119349*^9}}], Cell[TextData[{ "The next two functions produce the yield curve and standard ", StyleBox["Mathematica", FontSlant->"Italic"], " date for an XMLElement[] representing a single day' s yield curve." }], "Text", CellChangeTimes->{{3.399581149472446*^9, 3.3995811806570253`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"xExtractYieldCurve", "[", "xmle_XMLElement", "]"}], ":=", RowBox[{"Module", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"nDate", ",", "vsObs", ",", "nRate", ",", "msYieldCurve"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Pull", " ", "out", " ", "the", " ", "data", " ", "as", " ", "strings"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"msYieldCurve", "=", RowBox[{"Cases", "[", "\[IndentingNewLine]", RowBox[{"xmle", ",", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{ RowBox[{"sTerm_", "?", RowBox[{"(", RowBox[{ RowBox[{"StringMatchQ", "[", RowBox[{"#", ",", RowBox[{ "RegularExpression", "[", "\"\\"", "]"}]}], "]"}], "&"}], ")"}]}], ",", "_", ",", RowBox[{"{", "sRate___", "}"}]}], "]"}], "\[RuleDelayed]", " ", RowBox[{"{", RowBox[{"sTerm", ",", "sRate"}], "}"}]}], ",", "\[IndentingNewLine]", "\[Infinity]"}], "\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Where", " ", "yield", " ", "data", " ", "are", " ", "missing"}], ",", " ", RowBox[{"place", " ", "an", " ", "empty", " ", "string"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"msYieldCurve", "=", RowBox[{"Replace", "[", RowBox[{"msYieldCurve", ",", RowBox[{ RowBox[{"vsObs_", "?", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Length", "[", "#", "]"}], "\[Equal]", "1"}], "&"}], ")"}]}], "\[RuleDelayed]", RowBox[{"Append", "[", RowBox[{"vsObs", ",", "\"\<\>\""}], "]"}]}], ",", "1"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Convert", " ", "the", " ", "term", " ", "strings", " ", "to", " ", "term", " ", "numerics", " ", "in", " ", "years"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"nDate", "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"ToExpression", "[", RowBox[{"First", "[", RowBox[{"StringSplit", "[", RowBox[{"#", ",", RowBox[{"\"\\"", "|", "\"\\""}]}], "]"}], "]"}], "]"}], RowBox[{"First", "[", RowBox[{"StringSplit", "[", RowBox[{"#", ",", "NumberString"}], "]"}], "]"}]}], "/.", RowBox[{"{", RowBox[{ RowBox[{"\"\\"", "\[Rule]", RowBox[{"1", "/", "12"}]}], ",", RowBox[{"\"\\"", "\[Rule]", "1"}]}], "}"}]}], "&"}], "/@", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Last", "[", RowBox[{"StringSplit", "[", RowBox[{"#", ",", "\"\<_\>\""}], "]"}], "]"}], "&"}], "/@", RowBox[{"msYieldCurve", "\[LeftDoubleBracket]", RowBox[{"All", ",", "1"}], "\[RightDoubleBracket]"}]}], ")"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Convert", " ", "the", " ", "yield", " ", "strings", " ", "to", " ", "numeric", " ", "yields"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"For", " ", "non"}], "-", RowBox[{"NumberStrings", " ", "use", " ", RowBox[{"Missing", "[", "]"}], " ", "with", " ", "the", " ", "string", " ", "value"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"nRate", "=", RowBox[{ RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"StringMatchQ", "[", RowBox[{"#", ",", "NumberString"}], "]"}], ",", RowBox[{"0.01", " ", RowBox[{"ToExpression", "[", "#", "]"}]}], ",", RowBox[{"Missing", "[", "#", "]"}]}], "]"}], "&"}], "/@", " ", RowBox[{"msYieldCurve", "\[LeftDoubleBracket]", RowBox[{"All", ",", "2"}], "\[RightDoubleBracket]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "No", " ", "guarantee", " ", "that", " ", "curve", " ", "is", " ", "properly", " ", "ordered"}], ";", " ", RowBox[{"sort", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"Sort", "[", RowBox[{"Transpose", "@", RowBox[{"{", RowBox[{"nDate", ",", "nRate"}], "}"}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.399316161827126*^9, 3.3993162199543743`*^9}, { 3.399316505282793*^9, 3.399316514745719*^9}, {3.399316617063177*^9, 3.399316692202194*^9}, {3.3993168550128202`*^9, 3.3993168814750977`*^9}, { 3.399316953791217*^9, 3.3993169716475*^9}, 3.399317018598521*^9, { 3.39931745870457*^9, 3.399317475616075*^9}, {3.399318609218171*^9, 3.399318610860956*^9}, {3.3993188199845533`*^9, 3.399318835309742*^9}, 3.399397859831458*^9, {3.39939789341756*^9, 3.3993979336011868`*^9}, { 3.399398433977111*^9, 3.3993984537617607`*^9}, {3.399398508861308*^9, 3.3993985091964893`*^9}, {3.399398759489977*^9, 3.399398863990272*^9}, { 3.399455882070333*^9, 3.399455884222246*^9}, {3.3994568905918407`*^9, 3.399456916796256*^9}, {3.399456960365106*^9, 3.3994569750637293`*^9}, { 3.3994571856000032`*^9, 3.399457264650392*^9}, 3.399457456913801*^9, { 3.399457494772128*^9, 3.399457503551605*^9}, {3.399460087185718*^9, 3.399460187555365*^9}, {3.3995385040028*^9, 3.399538530857934*^9}, { 3.399538572713531*^9, 3.3995385879420223`*^9}, {3.3995386369562197`*^9, 3.3995386444872713`*^9}, {3.399538798586622*^9, 3.399538832842661*^9}, { 3.399538885597995*^9, 3.399538900026881*^9}, {3.399538995563458*^9, 3.3995390015744543`*^9}, {3.3995390590184717`*^9, 3.399539060816593*^9}, { 3.399577284045034*^9, 3.3995773679157543`*^9}, {3.399577414540307*^9, 3.399577414889344*^9}, {3.399577450540855*^9, 3.399577465950502*^9}, { 3.399577750994924*^9, 3.399577763428363*^9}, {3.399577935573827*^9, 3.3995779388612213`*^9}, {3.399582983684782*^9, 3.399583018057616*^9}, { 3.3995830585816393`*^9, 3.3995832121883497`*^9}, {3.399584190658839*^9, 3.399584384215843*^9}, {3.399763707172407*^9, 3.3997637199318666`*^9}, { 3.3997637592437973`*^9, 3.3997637792927732`*^9}, {3.39981134591238*^9, 3.399811353996935*^9}, {3.399811438019499*^9, 3.3998114581680527`*^9}, 3.399813051544714*^9, {3.399813181380707*^9, 3.399813194288151*^9}, { 3.399813285129715*^9, 3.399813295984446*^9}, {3.399813345585408*^9, 3.399813368582418*^9}}], Cell[BoxData[ RowBox[{"\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"xExtractTreasNewDate", "[", "xmle_XMLElement", "]"}], ":=", "\[IndentingNewLine]", RowBox[{"First", "[", RowBox[{"Cases", "[", "\[IndentingNewLine]", RowBox[{"xmle", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{"\"\\"", ",", "_", ",", RowBox[{"{", "d_", "}"}]}], "]"}], "\[RuleDelayed]", RowBox[{ RowBox[{"(", RowBox[{"ToExpression", "/@", RowBox[{"StringSplit", "[", RowBox[{ RowBox[{"StringTake", "[", RowBox[{"d", ",", "10"}], "]"}], ",", "\"\<-\>\""}], "]"}]}], ")"}], "\[LeftDoubleBracket]", RowBox[{"{", RowBox[{"3", ",", "1", ",", "2"}], "}"}], "\[RightDoubleBracket]"}]}], ",", "\[IndentingNewLine]", "\[Infinity]", ",", "\[IndentingNewLine]", "1"}], "\[IndentingNewLine]", "]"}], "]"}]}], ";"}]}]], "Input", CellChangeTimes->{{3.399459115844284*^9, 3.399459131331492*^9}, { 3.3994591718398237`*^9, 3.399459236871338*^9}, {3.399459292811116*^9, 3.3994594624081697`*^9}, 3.399459534967057*^9, {3.399459591926627*^9, 3.399459644640602*^9}, {3.3994596972801867`*^9, 3.399459734911343*^9}, { 3.39945977583184*^9, 3.399459776059739*^9}, {3.3994598575083513`*^9, 3.3994599442982273`*^9}, {3.3995391785905*^9, 3.399539214896998*^9}, { 3.3995392967998*^9, 3.399539302780105*^9}, {3.399766148850507*^9, 3.399766149997293*^9}, {3.399766261046669*^9, 3.3997662622688837`*^9}}], Cell[TextData[{ "Finally, for an XMLElement[] representing a single day's yield curve, \ xTreasYieldCurve[] produces a singe observation in the form {{year, month, \ day}, {{term1, yield1}, {term2, yield2}, ..., {term", StyleBox["n", FontSlant->"Italic"], ", yield", StyleBox["n", FontSlant->"Italic"], "}}}. The terms are expressed in years, with one month, for example, \ represented by 1/12." }], "Text", CellChangeTimes->{{3.399580968172839*^9, 3.399581120234001*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"xTreasYieldCurve", "[", "xmle_XMLElement", "]"}], ":=", RowBox[{"{", RowBox[{ RowBox[{"xExtractTreasNewDate", "[", "xmle", "]"}], ",", RowBox[{"xExtractYieldCurve", "[", "xmle", "]"}]}], "}"}]}]], "Input", CellChangeTimes->{{3.3994584512039824`*^9, 3.399458596965616*^9}, { 3.399460299544715*^9, 3.3994603264279633`*^9}, {3.399539452047657*^9, 3.399539469372034*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["Test", "Section", CellChangeTimes->{{3.399541390015972*^9, 3.399541391260191*^9}}], Cell[CellGroupData[{ Cell["Downloading and visualizing", "Subsection", CellChangeTimes->{{3.399581674793417*^9, 3.399581705840667*^9}}], Cell[TextData[{ "In ", StyleBox["Mathematica", FontSlant->"Italic"], " ", StyleBox["V6", FontSlant->"Italic"], " the Import[] function handles downloads from a URL. In this case, the URL \ ends in \".xml\" so it assumes that the data are represented by an XML \ document and imports it as a symbolic XMLObject[]." }], "Text", CellChangeTimes->{{3.399581340251707*^9, 3.399581361650866*^9}, { 3.3995814451490383`*^9, 3.3995815358710127`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"xmlTreas", "=", RowBox[{"Import", "[", RowBox[{"xTreasYieldCurveURL", "[", "1995", "]"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.399259704850335*^9, 3.399259711730892*^9}, { 3.399262245174986*^9, 3.399262248276001*^9}, 3.399262550267701*^9, 3.399460708489298*^9, {3.399537363205209*^9, 3.3995373645456123`*^9}, { 3.399576806204117*^9, 3.3995768079082203`*^9}}], Cell["\<\ Here's a notebook representation of the yield curve data for 1995. When you \ execute the statement below, a notebook will appear on your desktop.\ \>", "Text", CellChangeTimes->{{3.3995815498421097`*^9, 3.3995815686699343`*^9}, { 3.399581620943012*^9, 3.399581653691976*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"XMLAsNotebook", "[", RowBox[{"xmlTreas", ",", RowBox[{"WindowTitle", "\[Rule]", "\"\\""}]}], "]"}]], "Input", CellChangeTimes->{{3.399576108288106*^9, 3.399576136685932*^9}, { 3.399576811822537*^9, 3.399576812839203*^9}, {3.399581634109091*^9, 3.399581635555813*^9}}], Cell[BoxData[ InterpretationBox[ RowBox[{"NotebookObject", "[", PanelBox[GridBox[{ { TooltipBox[ ButtonBox[ StyleBox[ DynamicBox[FEPrivate`FrontEndResource[ "FEBitmaps", "ManipulatePasteIcon"], ImageSizeCache->{20., {5., 15.}}], DynamicUpdating->True], BaseStyle->{}, ButtonFrame->None, ButtonFunction:>FrontEndExecute[{ FrontEnd`SetSelectedNotebook[ NotebookObject[ FrontEndObject[ LinkObject["yhh_shm", 1, 1]], 18]]}], Evaluator->None, Method->"Queued"], DynamicBox[ FEPrivate`FrontEndResource[ "FEStrings", "NotebookObjectToTheFront"]]], StyleBox["\<\"Example\"\>", StripOnInput->False, FontColor->GrayLevel[0.5]]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}], FrameMargins->{{4, 5}, {4, 4}}], "]"}], NotebookObject[ FrontEndObject[ LinkObject["yhh_shm", 1, 1]], 18], Editable->False]], "Output", CellChangeTimes->{ 3.3995761384338217`*^9, 3.3995768184327993`*^9, 3.3995804395581083`*^9, 3.399582727718009*^9, 3.399582800667233*^9, {3.39958332690191*^9, 3.399583341617947*^9}, 3.399583377885539*^9, 3.399584460279345*^9, 3.399754188529805*^9, 3.399766240917776*^9, 3.399811271401525*^9, 3.399843435612523*^9, 3.4006922384074697`*^9, 3.400759846645051*^9, 3.4007625869239397`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Trading calendar", "Subsection", CellChangeTimes->{{3.399766010827888*^9, 3.399766016374501*^9}}], Cell["\<\ The trading calendar for U.S. Treasuries for the subject year is below. Note \ that the elements are strings.\ \>", "Text", CellChangeTimes->{{3.3997666067257566`*^9, 3.399766657503088*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vsTradingCalendar", "=", RowBox[{"xExtractOpenMarketDates", "[", "xmlTreas", "]"}]}]], "Input", CellChangeTimes->{{3.399766019437914*^9, 3.399766034138925*^9}, { 3.3997663232666607`*^9, 3.3997663285022078`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"\<\"03-JAN-95\"\>", ",", "\<\"04-JAN-95\"\>", ",", "\<\"05-JAN-95\"\>", ",", "\<\"06-JAN-95\"\>", ",", "\<\"09-JAN-95\"\>", ",", "\<\"10-JAN-95\"\>", ",", "\<\"11-JAN-95\"\>", ",", "\<\"12-JAN-95\"\>", ",", "\<\"13-JAN-95\"\>", ",", "\<\"17-JAN-95\"\>", ",", "\<\"18-JAN-95\"\>", ",", "\<\"19-JAN-95\"\>", ",", "\<\"20-JAN-95\"\>", ",", "\<\"23-JAN-95\"\>", ",", "\<\"24-JAN-95\"\>", ",", "\<\"25-JAN-95\"\>", ",", "\<\"26-JAN-95\"\>", ",", "\<\"27-JAN-95\"\>", ",", "\<\"30-JAN-95\"\>", ",", "\<\"31-JAN-95\"\>", ",", "\<\"01-FEB-95\"\>", ",", "\<\"02-FEB-95\"\>", ",", "\<\"03-FEB-95\"\>", ",", "\<\"06-FEB-95\"\>", ",", "\<\"07-FEB-95\"\>", ",", "\<\"08-FEB-95\"\>", ",", "\<\"09-FEB-95\"\>", ",", "\<\"10-FEB-95\"\>", ",", "\<\"13-FEB-95\"\>", ",", "\<\"14-FEB-95\"\>", ",", "\<\"15-FEB-95\"\>", ",", "\<\"16-FEB-95\"\>", ",", "\<\"17-FEB-95\"\>", ",", "\<\"21-FEB-95\"\>", ",", "\<\"22-FEB-95\"\>", ",", "\<\"23-FEB-95\"\>", ",", "\<\"24-FEB-95\"\>", ",", "\<\"27-FEB-95\"\>", ",", "\<\"28-FEB-95\"\>", ",", "\<\"01-MAR-95\"\>", ",", "\<\"02-MAR-95\"\>", ",", "\<\"03-MAR-95\"\>", ",", "\<\"06-MAR-95\"\>", ",", "\<\"07-MAR-95\"\>", ",", "\<\"08-MAR-95\"\>", ",", "\<\"09-MAR-95\"\>", ",", "\<\"10-MAR-95\"\>", ",", "\<\"13-MAR-95\"\>", ",", "\<\"14-MAR-95\"\>", ",", "\<\"15-MAR-95\"\>", ",", "\<\"16-MAR-95\"\>", ",", "\<\"17-MAR-95\"\>", ",", "\<\"20-MAR-95\"\>", ",", "\<\"21-MAR-95\"\>", ",", "\<\"22-MAR-95\"\>", ",", "\<\"23-MAR-95\"\>", ",", "\<\"24-MAR-95\"\>", ",", "\<\"27-MAR-95\"\>", ",", "\<\"28-MAR-95\"\>", ",", "\<\"29-MAR-95\"\>", ",", "\<\"30-MAR-95\"\>", ",", "\<\"31-MAR-95\"\>", ",", "\<\"03-APR-95\"\>", ",", "\<\"04-APR-95\"\>", ",", "\<\"05-APR-95\"\>", ",", "\<\"06-APR-95\"\>", ",", "\<\"07-APR-95\"\>", ",", "\<\"10-APR-95\"\>", ",", "\<\"11-APR-95\"\>", ",", "\<\"12-APR-95\"\>", ",", "\<\"13-APR-95\"\>", ",", "\<\"17-APR-95\"\>", ",", "\<\"18-APR-95\"\>", ",", "\<\"19-APR-95\"\>", ",", "\<\"20-APR-95\"\>", ",", "\<\"21-APR-95\"\>", ",", "\<\"24-APR-95\"\>", ",", "\<\"25-APR-95\"\>", ",", "\<\"26-APR-95\"\>", ",", "\<\"27-APR-95\"\>", ",", "\<\"28-APR-95\"\>", ",", "\<\"01-MAY-95\"\>", ",", "\<\"02-MAY-95\"\>", ",", "\<\"03-MAY-95\"\>", ",", "\<\"04-MAY-95\"\>", ",", "\<\"05-MAY-95\"\>", ",", "\<\"08-MAY-95\"\>", ",", "\<\"09-MAY-95\"\>", ",", "\<\"10-MAY-95\"\>", ",", "\<\"11-MAY-95\"\>", ",", "\<\"12-MAY-95\"\>", ",", "\<\"15-MAY-95\"\>", ",", "\<\"16-MAY-95\"\>", ",", "\<\"17-MAY-95\"\>", ",", "\<\"18-MAY-95\"\>", ",", "\<\"19-MAY-95\"\>", ",", "\<\"22-MAY-95\"\>", ",", "\<\"23-MAY-95\"\>", ",", "\<\"24-MAY-95\"\>", ",", "\<\"25-MAY-95\"\>", ",", "\<\"26-MAY-95\"\>", ",", "\<\"30-MAY-95\"\>", ",", "\<\"31-MAY-95\"\>", ",", "\<\"01-JUN-95\"\>", ",", "\<\"02-JUN-95\"\>", ",", "\<\"05-JUN-95\"\>", ",", "\<\"06-JUN-95\"\>", ",", "\<\"07-JUN-95\"\>", ",", "\<\"08-JUN-95\"\>", ",", "\<\"09-JUN-95\"\>", ",", "\<\"12-JUN-95\"\>", ",", "\<\"13-JUN-95\"\>", ",", "\<\"14-JUN-95\"\>", ",", "\<\"15-JUN-95\"\>", ",", "\<\"16-JUN-95\"\>", ",", "\<\"19-JUN-95\"\>", ",", "\<\"20-JUN-95\"\>", ",", "\<\"21-JUN-95\"\>", ",", "\<\"22-JUN-95\"\>", ",", "\<\"23-JUN-95\"\>", ",", "\<\"26-JUN-95\"\>", ",", "\<\"27-JUN-95\"\>", ",", "\<\"28-JUN-95\"\>", ",", "\<\"29-JUN-95\"\>", ",", "\<\"30-JUN-95\"\>", ",", "\<\"03-JUL-95\"\>", ",", "\<\"05-JUL-95\"\>", ",", "\<\"06-JUL-95\"\>", ",", "\<\"07-JUL-95\"\>", ",", "\<\"10-JUL-95\"\>", ",", "\<\"11-JUL-95\"\>", ",", "\<\"12-JUL-95\"\>", ",", "\<\"13-JUL-95\"\>", ",", "\<\"14-JUL-95\"\>", ",", "\<\"17-JUL-95\"\>", ",", "\<\"18-JUL-95\"\>", ",", "\<\"19-JUL-95\"\>", ",", "\<\"20-JUL-95\"\>", ",", "\<\"21-JUL-95\"\>", ",", "\<\"24-JUL-95\"\>", ",", "\<\"25-JUL-95\"\>", ",", "\<\"26-JUL-95\"\>", ",", "\<\"27-JUL-95\"\>", ",", "\<\"28-JUL-95\"\>", ",", "\<\"31-JUL-95\"\>", ",", "\<\"01-AUG-95\"\>", ",", "\<\"02-AUG-95\"\>", ",", "\<\"03-AUG-95\"\>", ",", "\<\"04-AUG-95\"\>", ",", "\<\"07-AUG-95\"\>", ",", "\<\"08-AUG-95\"\>", ",", "\<\"09-AUG-95\"\>", ",", "\<\"10-AUG-95\"\>", ",", "\<\"11-AUG-95\"\>", ",", "\<\"14-AUG-95\"\>", ",", "\<\"15-AUG-95\"\>", ",", "\<\"16-AUG-95\"\>", ",", "\<\"17-AUG-95\"\>", ",", "\<\"18-AUG-95\"\>", ",", "\<\"21-AUG-95\"\>", ",", "\<\"22-AUG-95\"\>", ",", "\<\"23-AUG-95\"\>", ",", "\<\"24-AUG-95\"\>", ",", "\<\"25-AUG-95\"\>", ",", "\<\"28-AUG-95\"\>", ",", "\<\"29-AUG-95\"\>", ",", "\<\"30-AUG-95\"\>", ",", "\<\"31-AUG-95\"\>", ",", "\<\"01-SEP-95\"\>", ",", "\<\"05-SEP-95\"\>", ",", "\<\"06-SEP-95\"\>", ",", "\<\"07-SEP-95\"\>", ",", "\<\"08-SEP-95\"\>", ",", "\<\"11-SEP-95\"\>", ",", "\<\"12-SEP-95\"\>", ",", "\<\"13-SEP-95\"\>", ",", "\<\"14-SEP-95\"\>", ",", "\<\"15-SEP-95\"\>", ",", "\<\"18-SEP-95\"\>", ",", "\<\"19-SEP-95\"\>", ",", "\<\"20-SEP-95\"\>", ",", "\<\"21-SEP-95\"\>", ",", "\<\"22-SEP-95\"\>", ",", "\<\"25-SEP-95\"\>", ",", "\<\"26-SEP-95\"\>", ",", "\<\"27-SEP-95\"\>", ",", "\<\"28-SEP-95\"\>", ",", "\<\"29-SEP-95\"\>", ",", "\<\"02-OCT-95\"\>", ",", "\<\"03-OCT-95\"\>", ",", "\<\"04-OCT-95\"\>", ",", "\<\"05-OCT-95\"\>", ",", "\<\"06-OCT-95\"\>", ",", "\<\"10-OCT-95\"\>", ",", "\<\"11-OCT-95\"\>", ",", "\<\"12-OCT-95\"\>", ",", "\<\"13-OCT-95\"\>", ",", "\<\"16-OCT-95\"\>", ",", "\<\"17-OCT-95\"\>", ",", "\<\"18-OCT-95\"\>", ",", "\<\"19-OCT-95\"\>", ",", "\<\"20-OCT-95\"\>", ",", "\<\"23-OCT-95\"\>", ",", "\<\"24-OCT-95\"\>", ",", "\<\"25-OCT-95\"\>", ",", "\<\"26-OCT-95\"\>", ",", "\<\"27-OCT-95\"\>", ",", "\<\"30-OCT-95\"\>", ",", "\<\"31-OCT-95\"\>", ",", "\<\"01-NOV-95\"\>", ",", "\<\"02-NOV-95\"\>", ",", "\<\"03-NOV-95\"\>", ",", "\<\"06-NOV-95\"\>", ",", "\<\"07-NOV-95\"\>", ",", "\<\"08-NOV-95\"\>", ",", "\<\"09-NOV-95\"\>", ",", "\<\"10-NOV-95\"\>", ",", "\<\"13-NOV-95\"\>", ",", "\<\"14-NOV-95\"\>", ",", "\<\"15-NOV-95\"\>", ",", "\<\"16-NOV-95\"\>", ",", "\<\"17-NOV-95\"\>", ",", "\<\"20-NOV-95\"\>", ",", "\<\"21-NOV-95\"\>", ",", "\<\"22-NOV-95\"\>", ",", "\<\"24-NOV-95\"\>", ",", "\<\"27-NOV-95\"\>", ",", "\<\"28-NOV-95\"\>", ",", "\<\"29-NOV-95\"\>", ",", "\<\"30-NOV-95\"\>", ",", "\<\"01-DEC-95\"\>", ",", "\<\"04-DEC-95\"\>", ",", "\<\"05-DEC-95\"\>", ",", "\<\"06-DEC-95\"\>", ",", "\<\"07-DEC-95\"\>", ",", "\<\"08-DEC-95\"\>", ",", "\<\"11-DEC-95\"\>", ",", "\<\"12-DEC-95\"\>", ",", "\<\"13-DEC-95\"\>", ",", "\<\"14-DEC-95\"\>", ",", "\<\"15-DEC-95\"\>", ",", "\<\"18-DEC-95\"\>", ",", "\<\"19-DEC-95\"\>", ",", "\<\"20-DEC-95\"\>", ",", "\<\"21-DEC-95\"\>", ",", "\<\"22-DEC-95\"\>", ",", "\<\"26-DEC-95\"\>", ",", "\<\"27-DEC-95\"\>", ",", "\<\"28-DEC-95\"\>", ",", "\<\"29-DEC-95\"\>"}], "}"}]], "Output", CellChangeTimes->{3.399766034629973*^9, 3.399766241111683*^9, 3.399766329923134*^9, 3.39981127155236*^9, 3.399843435704239*^9, 3.400692238488908*^9, 3.400759846741178*^9, 3.4007625870813227`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Looking at a specific date", "Subsection", CellChangeTimes->{{3.399581690474218*^9, 3.399581702065987*^9}}], Cell["\<\ Here is the symbolic XML for a specific date, the 100th trading day of the \ year.\ \>", "Text", CellChangeTimes->{{3.399581809693171*^9, 3.399581819748926*^9}, { 3.399766475464377*^9, 3.399766488933854*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vsTradingCalendar", "\[LeftDoubleBracket]", "100", "\[RightDoubleBracket]"}]], "Input", CellChangeTimes->{{3.399766338490169*^9, 3.399766346739341*^9}}], Cell[BoxData["\<\"25-MAY-95\"\>"], "Output", CellChangeTimes->{3.399766347125804*^9, 3.399811271608953*^9, 3.399813486024438*^9, 3.3998434358271112`*^9, 3.400692238552176*^9, 3.400759846790843*^9, 3.4007625871457767`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"xExtractTreasForDate", "[", RowBox[{"xmlTreas", ",", RowBox[{ "vsTradingCalendar", "\[LeftDoubleBracket]", "100", "\[RightDoubleBracket]"}]}], "]"}]], "Input", CellChangeTimes->{{3.3995817221539297`*^9, 3.3995817329028063`*^9}, 3.3997663573666153`*^9}], Cell[BoxData[ RowBox[{"XMLElement", "[", RowBox[{"\<\"G_BID_CURVE_DATE\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{"\<\"BID_CURVE_DATE\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"25-MAY-95\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"LIST_G_BC_30YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", RowBox[{"XMLElement", "[", RowBox[{"\<\"G_BC_30YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_30YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"6.73\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_1MONTH\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_3MONTH\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"5.84\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_6MONTH\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"5.89\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_1YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"5.89\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_2YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"5.99\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_3YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"6.06\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_5YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"6.18\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_7YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"6.27\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_10YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"6.39\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BC_20YEAR\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"6.78\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"DAY_OF_WEEK\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"THURSDAY\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"WEEK_OF_MONTH\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"9521\"\>", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"BOND_MKT_UNAVAIL\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", RowBox[{"XMLElement", "[", RowBox[{"\<\"NEW_DATE\"\>", ",", RowBox[{"{", "}"}], ",", RowBox[{"{", "\<\"05-25-1995\"\>", "}"}]}], "]"}]}], "}"}]}], "]"}], "}"}]}], "]"}]}], "}"}]}], "]"}]], "Output", CellChangeTimes->{ 3.399581734026202*^9, 3.399582727845763*^9, 3.399582800777215*^9, { 3.399583327002171*^9, 3.3995833417369223`*^9}, 3.399583378117981*^9, 3.399584460395338*^9, 3.399754188658724*^9, 3.399766241186913*^9, 3.399766358361869*^9, 3.399766715674811*^9, 3.399811271661541*^9, 3.399813075458428*^9, 3.399813116104402*^9, 3.3998132058424807`*^9, 3.399813306216442*^9, 3.399813376491831*^9, 3.3998134873311977`*^9, 3.399843435897154*^9, 3.400692238602582*^9, 3.400759846843199*^9, 3.400762587198237*^9}] }, Open ]], Cell["\<\ A more user friendly representation is achieved with xTreasYieldCurve[]. Note \ the use of Missing[] to identify data which are not applicable or \ unavailable.\ \>", "Text", CellChangeTimes->{{3.399581831212431*^9, 3.3995818650600233`*^9}, { 3.3995819116474953`*^9, 3.3995819450580273`*^9}, {3.399766462475031*^9, 3.3997664630352793`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"xTreasYieldCurve", "[", "%", "]"}]], "Input", CellChangeTimes->{{3.399581873875146*^9, 3.399581875127623*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1995", ",", "5", ",", "25"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ FractionBox["1", "12"], ",", RowBox[{"Missing", "[", "\<\"\"\>", "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ FractionBox["1", "4"], ",", "0.0584`"}], "}"}], ",", RowBox[{"{", RowBox[{ FractionBox["1", "2"], ",", "0.0589`"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0.0589`"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "0.0599`"}], "}"}], ",", RowBox[{"{", RowBox[{"3", ",", "0.060599999999999994`"}], "}"}], ",", RowBox[{"{", RowBox[{"5", ",", "0.0618`"}], "}"}], ",", RowBox[{"{", RowBox[{"7", ",", "0.06269999999999999`"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "0.0639`"}], "}"}], ",", RowBox[{"{", RowBox[{"20", ",", "0.0678`"}], "}"}], ",", RowBox[{"{", RowBox[{"30", ",", "0.06730000000000001`"}], "}"}]}], "}"}]}], "}"}]], "Output", CellChangeTimes->{ 3.399581875720504*^9, 3.399582727897066*^9, 3.399582800828375*^9, { 3.399583327036728*^9, 3.3995833417998247`*^9}, 3.399583378166836*^9, 3.3995844604445457`*^9, 3.3997541887187977`*^9, 3.399766241235776*^9, 3.3997663615247602`*^9, 3.399811271710113*^9, 3.399813118261092*^9, 3.3998134898212843`*^9, 3.399843435994031*^9, 3.400692238652203*^9, 3.400759846892085*^9, 3.40076258724677*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Data for the whole year", "Subsection", CellChangeTimes->{{3.3995821130997143`*^9, 3.399582118976913*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"maYieldCurveHistory", "=", RowBox[{"xTreasYieldCurve", "/@", RowBox[{"xExtractTreasForAllDates", "[", "xmlTreas", "]"}]}]}], ";"}]], "Input", CellChangeTimes->{{3.3997640236098433`*^9, 3.399764066973607*^9}, { 3.3997644308819227`*^9, 3.3997644461364107`*^9}, {3.399765488305333*^9, 3.399765506392667*^9}, {3.399765732111808*^9, 3.39976576103304*^9}, { 3.399765842082469*^9, 3.399765845531406*^9}}], Cell["\<\ Depending on what your plans are for the data, you probably want to process \ the history further, but they can be easily used as is, e.g., (1) to plot the \ yield of a 30-year bond over the year and (2) to plot the yield curve on a \ specific date. Note the use of Select[] to filter out missing data, i.e, data \ in which the yield component matches the pattern _Missing.\ \>", "Text", CellChangeTimes->{{3.399582420037465*^9, 3.399582498302218*^9}, { 3.399584597611957*^9, 3.399584650496509*^9}, {3.39958471822086*^9, 3.3995848077668867`*^9}, {3.400759897840382*^9, 3.400759898514494*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DateListPlot", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Select", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"First", "[", "#", "]"}], ",", RowBox[{ RowBox[{"Last", "[", "#", "]"}], "\[LeftDoubleBracket]", RowBox[{"11", ",", "2"}], "\[RightDoubleBracket]"}]}], "}"}], "&"}], "/@", "maYieldCurveHistory"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"Not", "[", RowBox[{"MatchQ", "[", RowBox[{ RowBox[{"Last", "[", "#", "]"}], ",", "_Missing"}], "]"}], "]"}], "&"}]}], "\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]", RowBox[{"Joined", "\[Rule]", "True"}], ",", "\[IndentingNewLine]", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1995", ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1995", ",", "12", ",", "31"}], "}"}]}], "}"}], ",", "All"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{ "\"\<1995\>\"", ",", "\"\\"", ",", "\"\<30 Year Yield\>\"", ",", "\"\<\>\""}], "}"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.3995436891014977`*^9, 3.399543691338891*^9}, { 3.39954373164395*^9, 3.399543832785009*^9}, {3.39957098606995*^9, 3.3995710852974167`*^9}, 3.3995713366781807`*^9, {3.399571391863819*^9, 3.3995714295984707`*^9}, {3.39957625027528*^9, 3.3995762675954514`*^9}, { 3.399576474014121*^9, 3.399576505452807*^9}, {3.399577800437057*^9, 3.3995778047344217`*^9}, {3.399578281970922*^9, 3.399578308718397*^9}, 3.399582748637409*^9}], Cell[BoxData[ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1:eJxV13tUVNUeB/CBK64eyxpR0bRsSPOtTWqSYJc51Sqy0AE0REUPyFuFg7xG QBxAQB7CmN00JZ0UV1KK4yt7GI0PLPDeGrXCRGAyPZKojWaG7/s7v/3Xl7Vc rs/ar+/+zT57zvjHpoXHe+t0ujv0T/uf/kyx76qSz7b3Ar1C9weTlSryypRD mesGse2fky/0f6b5YjDb5SZ/3POi2vA8W14YqUqnQ2P1c6aybeWR0O7cFwnz edrJe769snnaOLbhkTmqNLbM79cf/tmn2e0gP3bbnrjvMlvfhjb5RKlS6ICq 6Zd7ibwvRMH6uoYoyGs8EwX7k73nwvq2cXMhn/Ndcus25ZXHWnk988/krpSx t9a3s60Pye+Xlcw9fYjtGD0P+rsj5kF/fQH5inPqsOl5bPs98lC/lNC/qtmu EfNV6YX24b0L/8PWhZFNdZ2NT9SyjXnYLm8nx0ycbRxTz/YMi1alsMUbc2q3 sg0zomE9s4X81eJHtQpy/q3k+roZpn4xIv9/yS0Tj+2ZkMpWshZg3i3knJla YpG3mbyhfR1VQOS9ie22ZQtVadgSS+72cWxnLdnjF2K+N0jkPU7unLlmfaqv yHudPIn/RN4hMszv/lCGfPpjMtTPdA37K4NiVClh9aLoc2+I/K/GwPrGwzGw vtxNDiiX5IuuvZx/QKwqab0zWtnOYLLf3RPXmo+yPcnkqIEHT+o62NYuctWS S3frr7MdvotUqfHwwBERPiL/tEWwvj6R7NXh/WjFsyL/WnJKR3pF9QUe73oy DtbTBZJrJ23dH9DDNsbFwXpydRysZ/uC/OPqUx3ux0V9A+JViT6M157u5v7m mHhYz1qJdhyIh/27O3G8siABbF+dAPVw7U2A8bp28sgjpZ9Etoh6liTCeM/u RNiP4WwizGfulQSfj3VCEsyn30X2mdx3yrRv2KbWJKif4pUM7faxydDump0M 88k/JeN5eID9naNSVKnmyN+j5teI/OHkLkp/KlTkX0Hu4x5vs/fs4XreRbuf X6xKZbQaHWnObyZ/ea/sZlsr25RLbqu4H//PBbZSR74S9sXQkm62btgSOu+p vsXOFrYxlKztLvwDtpxD9kor7NVUw7Z9TJ4dPtJe7mA7T6DN05eqUvxT5+cM PMi2Zi6F+RybyclpnpLmWSL/9+SREdqNKvL/RQ75Lbd/w5ts16ZUVTq8Q7tg RN7jaKOHHP3gtTtXux2cd3CaKjU92Jt3w8H2bCAfCOg5Evcp23AUbb5K/qVp 6WTrQbZ1oKJKg7X4J9kOicxfD5NFPZ1kn6aaF3PGi3peJj8yZPOC0Se4v71/ Oox3/Tsd8umSyakiINfzUjqMd/ZdBuM9QeSeiN+3bzom8ieQi89/t+HrD0R+ 2zLYj/uJDFW6VDXqap9Gtn5qBsxvWpQB9VHWkO2DtW8E3o/9ILmg6ku64bnd OCUTbKvIhP0492fC+p6OTJjfGp0F7Y6yLNife08W7E9/Dm3qna1K7/ADJOq5 KhvPw+5sOD/GX8mTtOt9mzi//8qB82cbT97x0v+CZpxkG3aSX6/ULgxxfn8h d7ofX1dfJM6vzgLtjjEWaHfPssD5V05b4Hmx37fA8+AauRzadeHkbHdt3+3f iPz5y2E9553lsB/P8FywYWYujDcvz4Xx1m3klqOv7kruEM/Xc3mwf9M7eZBP yc6D+e32PJjP1ZIH+5Xfysf6ZuTDeOdH+TC/57t8qJ/hRj48Xw5lhSrdvP+T 5Y8Ror4bV0C7vgnbTX+ugPOrPFUA59N4pADOm3wFbfNbCefLaUKbv0Vb/1iJ 57mfFc67+xWyWXsdKBbnOYmcPkS7scX9oFrhvnHpC1WJihH21kfifggix8zi AnP++EJ4fuUacpDyA30ji+etT5Eqjanv53r9jLgfXkabY4ugHtaqIhjv+LwI 1je9VAz3i7KwGPLYy8nBx88dWJUv8u8jT3jof/9WlsjfgXaWrgJ7HKtgvKGN 3Cd9Z2VbksjrU6JKs7TH3yDqWUzO5gKKejZgu+kMtivepXTePpUpscg7jrzj +Nv0CYp6fkY+OySfXnlFPX8ml76sfSLiPDwshfmco8ugvyeiDOaznkI77pHX P7QV3A0U+UesViV6OTk/ZbDIH0bW8Z/In0eepL1+9xP1vI39dcPLYT/GGeUw XraUQ3/b1nLYj8G/AuY3v10B9bNmoR1byJ3a69uN3Zy/mdz4u/YDiK2EVML6 9mVk/+osqpjIX1sJ6xmvY39nWhXM5/mwCtYzHCNvmr3ls11n2OZrZGp89lQa 2zpoDT0PO5+eGxfE1q8nn915Z/7Spgau52FycOQ8+knGVrrJQ+nXW10n2z6g WpXqvA75+Pbn8a5gcmHGG+/f6s2WG6thvK2LTC9vz7XdZjt9a2C8ZxqZXwf8 Rf5E8qVnPukKmcB2XCRHTd3/fXajqOeTNtiPPpA8JvC9EytD2KY4tFJtg3zG gLWQT45ZC/u3VZKzvTfSlSHyHiBPpF/PF4obgv8P/SZfKQ== "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], AxesOrigin->NCache[{2997907200, 0.06}, {2.9979072*^9, 0.06}], Frame->True, FrameLabel->{ FormBox["\"1995\"", TraditionalForm], FormBox["\"yield\"", TraditionalForm], FormBox["\"30 Year Yield\"", TraditionalForm], FormBox["\"\"", TraditionalForm]}, FrameTicks->{{Automatic, Automatic}, {{{ NCache[2997907200, 2.9979072*^9], FormBox["\"Jan\"", TraditionalForm]}, { NCache[3005683200, 3.0056832*^9], FormBox["\"Apr\"", TraditionalForm]}, { NCache[3013545600, 3.0135456*^9], FormBox["\"Jul\"", TraditionalForm]}, { NCache[3021494400, 3.0214944*^9], FormBox["\"Oct\"", TraditionalForm]}, { NCache[3000585600, 3.0005856*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3003004800, 3.0030048*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3008275200, 3.0082752*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3010953600, 3.0109536*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3016224000, 3.016224*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3018902400, 3.0189024*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3024172800, 3.0241728*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3026764800, 3.0267648*^9], FormBox["\" \"", TraditionalForm]}}, {{ NCache[2997907200, 2.9979072*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3005683200, 3.0056832*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3013545600, 3.0135456*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3021494400, 3.0214944*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3000585600, 3.0005856*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3003004800, 3.0030048*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3008275200, 3.0082752*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3010953600, 3.0109536*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3016224000, 3.016224*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3018902400, 3.0189024*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3024172800, 3.0241728*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3026764800, 3.0267648*^9], FormBox["\" \"", TraditionalForm]}}}}, GridLines->NCache[{{{2997907200, GrayLevel[0.8]}, {3005683200, GrayLevel[0.8]}, {3013545600, GrayLevel[0.8]}, {3021494400, GrayLevel[0.8]}}, None}, {{{2.9979072*^9, GrayLevel[0.8]}, {3.0056832*^9, GrayLevel[0.8]}, {3.0135456*^9, GrayLevel[0.8]}, {3.0214944*^9, GrayLevel[0.8]}}, None}], PlotRange-> NCache[{{2997907200, 3029356800}, All}, {{2.9979072*^9, 3.0293568*^9}, All}], PlotRangeClipping->True, PlotRangePadding->{Automatic, Automatic}, Ticks->None]], "Output", CellChangeTimes->{ 3.399543692447217*^9, {3.399543785316334*^9, 3.399543801619022*^9}, 3.3995438340428343`*^9, 3.399564268070034*^9, 3.39956514569446*^9, { 3.399571054415083*^9, 3.399571065682973*^9}, 3.399571338191649*^9, { 3.399571408278365*^9, 3.399571430087469*^9}, 3.399575994504635*^9, 3.399576268115423*^9, {3.399577792713915*^9, 3.399577805506559*^9}, 3.399577946291765*^9, 3.399578309894272*^9, 3.3995804402886143`*^9, 3.399582728708808*^9, 3.399582801253593*^9, {3.399583327746561*^9, 3.399583342262632*^9}, 3.399583378597004*^9, 3.399584460872972*^9, 3.3997541892942467`*^9, 3.3997662414537*^9, 3.3998112722114983`*^9, 3.399843436375698*^9, 3.4006922388620033`*^9, 3.400759847064672*^9, 3.400762587560368*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ListPlot", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Select", "[", RowBox[{ RowBox[{"maYieldCurveHistory", "\[LeftDoubleBracket]", RowBox[{"30", ",", "2"}], "\[RightDoubleBracket]"}], ",", RowBox[{ RowBox[{"Not", "[", RowBox[{"MatchQ", "[", RowBox[{ RowBox[{"Last", "[", "#", "]"}], ",", "_Missing"}], "]"}], "]"}], "&"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Frame", "\[Rule]", "True"}], ",", "\[IndentingNewLine]", RowBox[{"Joined", "\[Rule]", "True"}], ",", "\[IndentingNewLine]", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\"", ",", RowBox[{"DateString", "[", RowBox[{ RowBox[{"maYieldCurveHistory", "\[LeftDoubleBracket]", RowBox[{"30", ",", "1"}], "\[RightDoubleBracket]"}], ",", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\<-\>\"", ",", "\"\\"", ",", "\"\<-\>\"", ",", "\"\\""}], "}"}]}], "]"}], ",", "\"\<\>\""}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "30"}], "}"}], ",", "All"}], "}"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.399576457784374*^9, 3.399576462262494*^9}, { 3.399576530901411*^9, 3.399576614261197*^9}, {3.399576644534169*^9, 3.399576647019525*^9}, {3.399576692570413*^9, 3.3995767646656847`*^9}, { 3.399577956906885*^9, 3.399577969092609*^9}, {3.399578397030326*^9, 3.399578497237754*^9}, {3.399578577948874*^9, 3.3995785784607143`*^9}, { 3.3995827532127523`*^9, 3.3995827578376207`*^9}}], Cell[BoxData[ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[{{0.25, 0.0596}, {0.5, 0.0636}, {1., 0.0677}, {2., 0.0721}, {3., 0.0734}, {5., 0.0745}, {7., 0.075}, {10., 0.0751}, {20., 0.0775}, {30., 0.0761}}]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, AxesOrigin->{0, 0.06}, Frame->True, FrameLabel->{ FormBox["\"term(yrs)\"", TraditionalForm], FormBox["\"yield\"", TraditionalForm], FormBox["\"1995-02-14\"", TraditionalForm], FormBox["\"\"", TraditionalForm]}, PlotRange->{{0, 30}, All}, PlotRangeClipping->True, PlotRangePadding->{Automatic, Automatic}]], "Output", CellChangeTimes->{ 3.3995766171644087`*^9, 3.39957664831805*^9, 3.399576701456251*^9, 3.399576765546212*^9, 3.399577822035035*^9, {3.399577949378152*^9, 3.3995779698770857`*^9}, {3.399578431515183*^9, 3.399578467598776*^9}, 3.399578497896976*^9, 3.399578579017734*^9, 3.399580440344943*^9, 3.399582729125455*^9, 3.39958280129666*^9, {3.399583328504071*^9, 3.3995833422982073`*^9}, 3.399583378632729*^9, 3.399584460910701*^9, 3.3997541893737993`*^9, 3.3997662414846277`*^9, 3.3998112722434196`*^9, 3.399843436494796*^9, 3.400692238919733*^9, 3.4007598470901527`*^9, 3.400762587596045*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Performance Improvement", "Subsection", CellChangeTimes->{{3.400759920193852*^9, 3.400759926235561*^9}}], Cell["\<\ The original notebook did not have code for xExtractTreasForAllDates[]. A \ timing analysis comparing processing each date separately versus the new \ function follows\ \>", "Text", CellChangeTimes->{{3.400760433777432*^9, 3.40076054585389*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"old", "[", "time", "]"}], ",", RowBox[{"old", "[", "data", "]"}]}], "}"}], "=", RowBox[{"Timing", "[", RowBox[{"xTreasYieldCurve", "/@", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"xExtractTreasForDate", "[", RowBox[{"xmlTreas", ",", "#"}], "]"}], "&"}], "/@", "vsTradingCalendar"}], ")"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.400759958903921*^9, 3.4007600806074333`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"new", "[", "time", "]"}], ",", RowBox[{"new", "[", "data", "]"}]}], "}"}], "=", RowBox[{"Timing", "[", RowBox[{"xTreasYieldCurve", "/@", RowBox[{"xExtractTreasForAllDates", "[", "xmlTreas", "]"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.400760024470647*^9, 3.400760026795578*^9}, { 3.400760061281629*^9, 3.400760094905949*^9}}], Cell["First, check that the results are the same", "Text", CellChangeTimes->{{3.40076054953275*^9, 3.4007605661897182`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Equal", "[", RowBox[{ RowBox[{"old", "[", "data", "]"}], ",", RowBox[{"new", "[", "data", "]"}]}], "]"}]], "Input", CellChangeTimes->{{3.400760145768382*^9, 3.4007601646285686`*^9}}], Cell[BoxData["True"], "Output", CellChangeTimes->{3.400760165114533*^9, 3.400762588188878*^9}] }, Open ]], Cell["You will see about a three fold increase in run time.", "Text", CellChangeTimes->{{3.400760570516287*^9, 3.400760604588628*^9}, { 3.400760717735549*^9, 3.4007607479846287`*^9}}], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{"old", "[", "time", "]"}], "\[IndentingNewLine]", RowBox[{"new", "[", "time", "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"old", "[", "time", "]"}], "/", RowBox[{"new", "[", "time", "]"}]}]}], "Input", CellChangeTimes->{{3.40076011761086*^9, 3.4007601295296*^9}, { 3.400760584027693*^9, 3.400760597239756*^9}}], Cell[BoxData["0.4028440000000001`"], "Output", CellChangeTimes->{{3.400760120771605*^9, 3.40076013003511*^9}, 3.4007605978376837`*^9, 3.40076258823245*^9}], Cell[BoxData["0.13447099999999979`"], "Output", CellChangeTimes->{{3.400760120771605*^9, 3.40076013003511*^9}, 3.4007605978376837`*^9, 3.400762588234005*^9}], Cell[BoxData["2.9957686043831067`"], "Output", CellChangeTimes->{{3.400760120771605*^9, 3.40076013003511*^9}, 3.4007605978376837`*^9, 3.400762588235113*^9}] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Building a Database", "Section", CellChangeTimes->{{3.3998139538775578`*^9, 3.399813960552931*^9}}], Cell["\<\ We'll build a simple \"database\" for the entire Treasury history from 1990 \ onwards as a 3-vector in which the first element contains the row \ identifiers, the second the column identifiers and the third a data matrix. \ In this case the rows will represent dates and the columns terms.\ \>", "Text", CellChangeTimes->{{3.400693379718316*^9, 3.400693463267125*^9}, { 3.400761128697216*^9, 3.4007611457089777`*^9}}], Cell["\<\ We'll also give an example of using a simple visualization approach to see \ missing data.\ \>", "Text", CellChangeTimes->{{3.400761150931292*^9, 3.400761191694956*^9}}], Cell[CellGroupData[{ Cell["Preliminaries", "Subsection", CellChangeTimes->{{3.400762284206223*^9, 3.400762288972848*^9}}], Cell["\<\ First we need to verify that all of the yield curves share the same list of \ terms.\ \>", "Text", CellChangeTimes->{{3.4006934678687696`*^9, 3.4006934939539223`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Equal", "[", RowBox[{ RowBox[{ RowBox[{"First", "[", RowBox[{"Transpose", "[", "#", "]"}], "]"}], "&"}], "/@", RowBox[{"maYieldCurveHistory", "\[LeftDoubleBracket]", RowBox[{"All", ",", "2"}], "\[RightDoubleBracket]"}]}], "]"}]], "Input", CellChangeTimes->{{3.399767242014089*^9, 3.3997673093341618`*^9}, { 3.399813605170566*^9, 3.399813606927986*^9}}], Cell[BoxData["True"], "Output", CellChangeTimes->{3.399813608987378*^9, 3.399843436662381*^9, 3.400692239087146*^9, 3.4007598471222353`*^9, 3.400762588265855*^9}] }, Open ]], Cell["\<\ That seems to be the case so the list of column identifiers is\ \>", "Text", CellChangeTimes->{{3.4006935014781322`*^9, 3.4006935250648193`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"maYieldCurveHistory", "\[LeftDoubleBracket]", RowBox[{"1", ",", "2", ",", "All", ",", "1"}], "\[RightDoubleBracket]"}]], "Input", CellChangeTimes->{{3.400760910136939*^9, 3.4007609208674088`*^9}, { 3.4007609510522633`*^9, 3.400760955828392*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ FractionBox["1", "12"], ",", FractionBox["1", "4"], ",", FractionBox["1", "2"], ",", "1", ",", "2", ",", "3", ",", "5", ",", "7", ",", "10", ",", "20", ",", "30"}], "}"}]], "Output", CellChangeTimes->{{3.400760910627577*^9, 3.4007609213775043`*^9}, { 3.4007609518430977`*^9, 3.4007609563901176`*^9}, 3.400762588316811*^9}] }, Open ]], Cell["\<\ Here's a simple function to build the database which only works if the above \ tests true.\ \>", "Text", CellChangeTimes->{{3.400693549063925*^9, 3.400693573587907*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"xFormYieldCurveDatabase", "[", "maYC_", "]"}], ":=", RowBox[{ RowBox[{"{", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"dates", " ", "as", " ", "row", " ", "names"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"maYC", "\[LeftDoubleBracket]", RowBox[{"All", ",", "1"}], "\[RightDoubleBracket]"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"terms", " ", "as", " ", "column", " ", "names"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"maYC", "\[LeftDoubleBracket]", RowBox[{"1", ",", "2", ",", "All", ",", "1"}], "\[RightDoubleBracket]"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"rates", " ", "data", " ", "matrix"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Last", "[", RowBox[{"Transpose", "[", "#", "]"}], "]"}], "&"}], "/@", RowBox[{"maYC", "\[LeftDoubleBracket]", RowBox[{"All", ",", "2"}], "\[RightDoubleBracket]"}]}]}], "\[IndentingNewLine]", "}"}], "/;", RowBox[{"Equal", "[", RowBox[{ RowBox[{ RowBox[{"First", "[", RowBox[{"Transpose", "[", "#", "]"}], "]"}], "&"}], "/@", RowBox[{"maYC", "\[LeftDoubleBracket]", RowBox[{"All", ",", "2"}], "\[RightDoubleBracket]"}]}], "]"}], " ", RowBox[{"(*", " ", RowBox[{ "only", " ", "if", " ", "term", " ", "specs", " ", "all", " ", "match"}], " ", "*)"}]}]}]], "Input", CellChangeTimes->{{3.3998140081612883`*^9, 3.39981408731425*^9}, { 3.3998153146310253`*^9, 3.399815405734673*^9}, {3.399822165621434*^9, 3.399822248254568*^9}, {3.400694220635251*^9, 3.4006942306227627`*^9}, { 3.400760976112072*^9, 3.400761035028768*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["Extracting the Data and Building the Database", "Subsection", CellChangeTimes->{{3.40076232453586*^9, 3.40076234420927*^9}}], Cell["\<\ We want to construct a database for 1990 onwards. The actual download and \ post processing statement is\ \>", "Text", CellChangeTimes->{{3.400693665287575*^9, 3.40069367066005*^9}, { 3.400760374910472*^9, 3.400760408894421*^9}, {3.400761091060895*^9, 3.400761093060912*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"dbYieldCurve", "=", RowBox[{"xFormYieldCurveDatabase", "[", "\[IndentingNewLine]", RowBox[{"xTreasYieldCurve", "/@", "\[IndentingNewLine]", RowBox[{"xExtractTreasForAllDates", "[", "\[IndentingNewLine]", RowBox[{"Import", "[", RowBox[{"xTreasYieldCurveURL", "[", "All", "]"}], "]"}], "\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.3998154222836847`*^9, 3.399815430634179*^9}, { 3.399815471331067*^9, 3.3998155186796093`*^9}, 3.399815587892576*^9, { 3.399815642078883*^9, 3.399815642663828*^9}, 3.400761074214263*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dimensions", "/@", "dbYieldCurve"}]], "Input", CellChangeTimes->{{3.40069372737088*^9, 3.400693736679399*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"4441", ",", "3"}], "}"}], ",", RowBox[{"{", "11", "}"}], ",", RowBox[{"{", RowBox[{"4441", ",", "11"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.400693737307913*^9, 3.4007598559064617`*^9, 3.4007625971968203`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Data Visualization", "Subsection", CellChangeTimes->{{3.4007623523580027`*^9, 3.4007623589457827`*^9}}], Cell["We'd next like to get an idea of missing data.", "Text", CellChangeTimes->{{3.4006936999482307`*^9, 3.4006937150340137`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"Length", "[", RowBox[{"Cases", "[", RowBox[{"#", ",", "_Missing", ",", "\[Infinity]"}], "]"}], "]"}], "&"}], "/@", RowBox[{"Transpose", "[", RowBox[{ "dbYieldCurve", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], "]"}]}]], "Input", CellChangeTimes->{{3.3998450047709837`*^9, 3.399845018409204*^9}, { 3.399845052635007*^9, 3.399845078216343*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "2899", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "939", ",", "994"}], "}"}]], "Output", CellChangeTimes->{3.399845020570496*^9, 3.399845079450081*^9, 3.400692246113881*^9, 3.4007598559558697`*^9, 3.400762597246216*^9}] }, Open ]], Cell["\<\ There are significant holes. We can get a quick visulization of what the \ missing data look like using ArrayPlot[] to color valid and missing data \ differently.\ \>", "Text", CellChangeTimes->{{3.400693752883554*^9, 3.400693800144013*^9}, { 3.400693919917099*^9, 3.400693947639366*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ArrayPlot", "[", RowBox[{ RowBox[{"Replace", "[", RowBox[{ RowBox[{ "dbYieldCurve", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"_Missing", "\[Rule]", "0"}], ",", RowBox[{ RowBox[{"_", "?", "NumericQ"}], "\[Rule]", "1"}]}], "}"}], ",", "\[Infinity]"}], "]"}], ",", RowBox[{"AspectRatio", "\[Rule]", "1"}]}], "]"}]], "Input", CellChangeTimes->{{3.399845254314033*^9, 3.39984537990768*^9}, { 3.399845443018983*^9, 3.399845449317827*^9}, {3.399845503149078*^9, 3.399845523715993*^9}, {3.399845656061957*^9, 3.399845680047496*^9}, { 3.3998460604225388`*^9, 3.399846060873827*^9}, {3.399846444813016*^9, 3.399846474566078*^9}, {3.400693825632861*^9, 3.400693826518352*^9}, { 3.400693859145247*^9, 3.400693910940155*^9}, {3.400693985790505*^9, 3.4006940130013447`*^9}}], Cell[BoxData[ GraphicsBox[RasterBox[CompressedData[" 1:eJzt1aERwCAABMEHG0UJaQkXSwPp36UCZGZg2FPbwd3j7aMmeVpyRZIkSZIk SdtUEBERERERERERERERERERERERERERf6ckadtW2AgiIiIiIiIiIiIiIiIi IiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIk5YEBERERERERERERERERER EREREfF4fhD/FP4= "], {{0, 0}, {11, 4441}}, {0, 1}], AspectRatio->1, Frame->Automatic, FrameLabel->{None, None}, FrameTicks->{{None, None}, {None, None}}]], "Output", CellChangeTimes->{{3.39984529184083*^9, 3.3998453061869593`*^9}, { 3.399845341817814*^9, 3.399845366045895*^9}, 3.3998454502259808`*^9, { 3.399845505947466*^9, 3.3998455248391867`*^9}, {3.399845656502365*^9, 3.399845680898521*^9}, 3.3998460614991207`*^9, 3.399846475263278*^9, 3.400692246161078*^9, 3.400693827059676*^9, 3.400693870220812*^9, 3.400693903443165*^9, {3.400694000319718*^9, 3.4006940134955273`*^9}, 3.400759856013111*^9, 3.400762597304377*^9}, ImageCache->GraphicsData["CompressedBitmap", "\<\ eJzt3UFqwkAUBuCJFopHENqSGzSn0JWHCEGIi1LRrHpSc5qYN2kpHqCStt9A fmYe/7eaZRazq7t2/1Z3h6Yut6f62B6ac7l5P42jZZHS4im+Mj2M+yGlmxj6 vs/xEhGD9BnPEcU0Tcs8jm6cv9U6otC8V/Nxan7d0WoKhmEYhmEYZv7mElEN 42IYhmEYhmEYhmEYhmEYhmEY5qfMnP8VMMyMzeuQ1zjvGYZhGIZhGIZhGIZh GIZhGIZhGIZhGIZhGIZhGIZhGIZhmH9pPiLysaJpmqZpmqZpmqZpmqZpmqZp mqbpOerf8tLcH2jm68lx85ZhcQXJ6q8c\ \>"]] }, Open ]], Cell["\<\ The 10-year yield is a key benchmark. The 9th term (column) of the data is \ the 10-year bond.\ \>", "Text", CellChangeTimes->{{3.400694343598596*^9, 3.400694358014021*^9}, { 3.4006947823660994`*^9, 3.400694788862298*^9}, {3.400761888884632*^9, 3.400761901022956*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"TableForm", "[", RowBox[{"#", ",", RowBox[{"TableHeadings", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"Range", "[", RowBox[{"Length", "[", "#", "]"}], "]"}], ",", "None"}], "}"}]}]}], "]"}], "&"}], "[", RowBox[{ "dbYieldCurve", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "]"}]], "Input", CellChangeTimes->{{3.400694252606813*^9, 3.4006943300036097`*^9}}], Cell[BoxData[ TagBox[ TagBox[GridBox[{ { TagBox["1", HoldForm], FractionBox["1", "12"]}, { TagBox["2", HoldForm], FractionBox["1", "4"]}, { TagBox["3", HoldForm], FractionBox["1", "2"]}, { TagBox["4", HoldForm], "1"}, { TagBox["5", HoldForm], "2"}, { TagBox["6", HoldForm], "3"}, { TagBox["7", HoldForm], "5"}, { TagBox["8", HoldForm], "7"}, { TagBox["9", HoldForm], "10"}, { TagBox["10", HoldForm], "20"}, { TagBox["11", HoldForm], "30"} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxDividers->{ "Columns" -> {False, {True}, False}, "ColumnsIndexed" -> {}, "Rows" -> {{False}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.5599999999999999]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], OutputFormsDump`HeadedColumn], Function[BoxForm`e$, TableForm[ BoxForm`e$, TableHeadings -> {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, None}]]]], "Output",\ CellChangeTimes->{{3.400694257727459*^9, 3.400694279746377*^9}, { 3.400694314710845*^9, 3.400694330492731*^9}, 3.4007598560357723`*^9, 3.4007625973293047`*^9}] }, Open ]], Cell["\<\ A plot of the yield of the 10-year Treasury from 1990 to the present is\ \>", "Text", CellChangeTimes->{{3.400694438254527*^9, 3.400694473922236*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DateListPlot", "[", RowBox[{ RowBox[{"Transpose", "@", RowBox[{"{", RowBox[{ RowBox[{ "dbYieldCurve", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"3", ",", "All", ",", "9"}], "\[RightDoubleBracket]"}]}], "}"}]}], ",", RowBox[{"Joined", "\[Rule]", "True"}]}], "]"}]], "Input", CellChangeTimes->{{3.40069436045413*^9, 3.4006944141634197`*^9}}], Cell[BoxData[ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1:eJxUnWW4lkwTx/HRx3xU7FbsVuxWbrvFbsVuxW7FbsVuxW7FbsVuxW7FOPc5 NnbrO8D7Yf/ny7l+1y7LMDs7O7s7cGds26teh384jmuaiOO8//Rn1soZEUrR tdbH6fV3lSN2BhL72M9nfiVxs/HFb53q4bN0Ecvt6rkiQktWZt7/a4LPXH9k cTnxli6Pek+e7rNyjviIuDBXyrk+6x+JM9//PqLrIZ/lJbkjQudXVNrz8bfP 2mniA/cm/+7w1WfTJZ77JWbrBTV3+/KmzhMRyl9zbdzKWX1WFxJLSdqcuJ7b Z+MElttviH8YnXa+7OszlzJvRKj04XrzMk73WSxPvCNfz1XRDvlsWcQnPudo MeO4z+5L4uuHniVNd85nIVm+iFCtsfHrbJvjs1wuH7SndckH1/NRxJ+rNyWN +iwlzh8RKt6pYpdebiB/aeLnY5Zd2nglkL9jfpDH1onH+g/ks5JQjAilyf8w S8xRPusliM/UKDYppATytyO+nfhD6ErHQP5pIsgr7BNBXkcpEBGaWv1ljMKJ 9vjyTkGWdhP/mzhpudMPAnkfF4Dn4VoVjAhpd8sMbrI+0OdE4jxf5j+cPSGQ d0dB0J/+gLjZ5/3Uw4G8MQtB+/I44qPLU9MT+vfXthWC+uZd4mr5/mb8/SWQ P3ph0CefrzBcb2wmXpZozeFjKXy2bxFXuuN+qt7UZy5aEagv5ia+0vFmZNfc PisNi8D93evIwp8iKH+OojS+7l7+Wv9ZYA/1ioK+zGFFob+ln0VBP2rWYmgP dYpBuT2YuOuhfrNTxgjkX10M5NczFQe2ahaH53cHFAf5hBXFQX/yBeIcxiTz yYtAv9VKwPPy/UrA/aVlJaB99Szx1jutB9RJH+izd8mI0PtPngICfS4mnvjp /u1RfQN5TxFn+NS90fCtgbzviPMfzJ4w3u5A3lSlIkLkHG4MehHYwwLiF1U9 A/DZPE4c9/YqtUzcvb68r4nTLGuV8wLvM5+iNNln1aPD0xX3WQoR9xoV49SM Aj7bR4l995bFZ+4l8cyEQ4puKuuzmLRMRGjFrcLvilfyWSlbBurrnYn/dPj6 vM0KXx4hsgzILycqC+VaKeLQ6KdnFhwM5O9A/IC0UXmOz86MsqA/NUG5iNDQ MZ4DCOy5eDnoX7ttOdAvN4042iHPIgP97yXu1NH7C/RbRIoINVq+acud1oF+ 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 xuNtTGhfmWLCelzfjWw9RnbjbAfWJiKbO7bj+H+wHeyTj7UD7EMqsAPk4e7t AH2IMXZCfSXfTtif0JvshP4Sbu+E/pKj7cL90Ny7cHw13IXja+Qu7P8/u7D/ c+wGf2bXQ+aG74b+Fdftxv3QrHvQf9XZg/sNQ/aAf5JXY33t8h7wF3ytvTC/ SAP3Qrm6Yi88j3FhL9ir/Xkv2Iu+bB/2/9l9ON4+YLmQbj/u1yzeD+PZObUf 9/NdZCn1AVifqRUPYDxz4gDYu/jmAFyvpDgI++966CDEW1a3g7Cekl9ifS3p ITgPMMsegnKn8yGMJ2cfgnxII9FhWL/ZpQ7j+qzjYczf1A/jeqb4kSj2fTih 3REol6cdAfm1vUcgvjSfHIF4WlKO4vnO5KOgD2PXUdi/tR8dhXiXi2NB+/oE C+JTa7uF+3v3kYWYx2D9LYvHwD6crcj83WMwHqXox3G/LO9x3M9vfBz8i3gL WeFOQLyp5zqB+ZoNToD9uyNOwP2138hm9pN4HlH3JM5vw05Ce9LakxifZzmF +6V1TuH+/uBTOB+vOgX+Q790CuZjoeZpiHflAadxv884jfHk+dMQjzif8Hq1 7xmo/7+qzju8iyINwAuiIISwdBSFpYRQhCwlpMNSA6kL4Zp1xXrno669XNtT D8X6O59TQUVXrz3qAYvtmqcr0qVsSCGEBBYIIZsAWYiUJBBu/rt5/3yfb3Z2 duabb75v2rprttKf3LoV9kU5Q9av20b/dtM22C+tdRvmi8xrtmO/gjNvO/c7 bdzO/UQntnP/yJAd3E9m7OB+qF/soD8W7YD9TQz8Ht/v532P+ovv+R7ptdfJ nrqT9Zm9E/ut1Lt2onzGazvxPfa/duJ7lMxd2K+kL9+F9Wfr5V3wTxNf7sJ6 tR/u4n7SlbtRPu+z3WifsH4353t77aF/u4IceHs4vh3Yg/FXvzLg/F5aQP9m bcD9kDUB/cnu5cjPuaGc6xM/Lud6T1U5/d3L5fQvJ+yFfQnK9tIf/s1e2oeL e2Ff/HEV8E9jswL+l/bLCqQ3/1LB+cgxlZyPLKnE+ofxZCXS2x9W0r7trKS/ VljF+P2xKsbH71fhe/ztVbAncRvZebia8fu71aifcEs12lM9XY32NIbvQ/pg NVnZtI/rGaf2If60htWAE3NruP7bUoP+5gzeD/3zZpPDn++Hf2Y37Ud53QG1 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 Rs2y//s3/wO7zGeG "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], AxesOrigin->NCache[{2840227200, 0.04}, {2.8402272*^9, 0.04}], Frame->True, FrameTicks->{{Automatic, Automatic}, {{{ NCache[2840140800, 2.8401408*^9], FormBox["\"1990\"", TraditionalForm]}, { NCache[2997907200, 2.9979072*^9], FormBox["\"1995\"", TraditionalForm]}, { NCache[3155673600, 3.1556736*^9], FormBox["\"2000\"", TraditionalForm]}, { NCache[3313526400, 3.3135264*^9], FormBox["\"2005\"", TraditionalForm]}, { NCache[2871676800, 2.8716768*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2903212800, 2.9032128*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2934835200, 2.9348352*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2966371200, 2.9663712*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3029443200, 3.0294432*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3061065600, 3.0610656*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3092601600, 3.0926016*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3124137600, 3.1241376*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3187296000, 3.187296*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3218832000, 3.218832*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3250368000, 3.250368*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3281904000, 3.281904*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3345062400, 3.3450624*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3376598400, 3.3765984*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3408134400, 3.4081344*^9], FormBox["\" \"", TraditionalForm]}}, {{ NCache[2840140800, 2.8401408*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2997907200, 2.9979072*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3155673600, 3.1556736*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3313526400, 3.3135264*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2871676800, 2.8716768*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2903212800, 2.9032128*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2934835200, 2.9348352*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2966371200, 2.9663712*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3029443200, 3.0294432*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3061065600, 3.0610656*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3092601600, 3.0926016*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3124137600, 3.1241376*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3187296000, 3.187296*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3218832000, 3.218832*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3250368000, 3.250368*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3281904000, 3.281904*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3345062400, 3.3450624*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3376598400, 3.3765984*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3408134400, 3.4081344*^9], FormBox["\" \"", TraditionalForm]}}}}, GridLines->NCache[{{{2840140800, GrayLevel[0.8]}, {2997907200, GrayLevel[0.8]}, {3155673600, GrayLevel[0.8]}, {3313526400, GrayLevel[0.8]}}, None}, {{{2.8401408*^9, GrayLevel[0.8]}, {2.9979072*^9, GrayLevel[0.8]}, {3.1556736*^9, GrayLevel[0.8]}, {3.3135264*^9, GrayLevel[0.8]}}, None}], PlotRange->{{2.8402272*^9, 3.3999264*^9}, {0.0313, 0.0909}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}, Ticks->None]], "Output", CellChangeTimes->{3.400694414956275*^9, 3.40075985625126*^9, 3.400762597553697*^9}] }, Open ]], Cell["\<\ The missing data occurs in blocks so estimates of the yield curve that ignore \ this would yield biased results. We can, however, look at terms from 3 months \ to ten years. The mean yield curve is\ \>", "Text", CellChangeTimes->{{3.400761236571188*^9, 3.400761291866873*^9}, { 3.400761569483715*^9, 3.400761575195752*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ListPlot", "[", "\[IndentingNewLine]", RowBox[{"Transpose", "@", RowBox[{"{", RowBox[{ RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"2", ",", RowBox[{"2", ";;", "9"}]}], "\[RightDoubleBracket]"}], ",", RowBox[{"Mean", "[", RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"3", ",", "All", ",", RowBox[{"2", ";;", "9"}]}], "\[RightDoubleBracket]"}], "]"}]}], "}"}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.400761309490266*^9, 3.4007615414744473`*^9}, { 3.4007616008858023`*^9, 3.400761601622471*^9}, {3.400762970559078*^9, 3.400762972143079*^9}, {3.400763006302185*^9, 3.40076300996462*^9}}], Cell[BoxData[ GraphicsBox[ {Hue[0.67, 0.6, 0.6], PointBox[{{0.25, 0.04234676874577798}, {0.5, 0.04391679801846431}, {1., 0.04537748254897546}, {2., 0.048958522855212794`}, {3., 0.05101258725512273}, {5., 0.05434564287322676}, {7., 0.05673787435262329}, {10., 0.05817466786759739}}]}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, PlotRange->Automatic, PlotRangeClipping->True]], "Output", CellChangeTimes->{3.400762972598404*^9}] }, Open ]], Cell["A fancier plot might be", "Text", CellChangeTimes->{{3.400762978118464*^9, 3.400762985175888*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ListPlot", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Transpose", "@", RowBox[{"{", RowBox[{ RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"2", ",", RowBox[{"2", ";;", "9"}]}], "\[RightDoubleBracket]"}], ",", RowBox[{"Mean", "[", RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"3", ",", "All", ",", RowBox[{"2", ";;", "9"}]}], "\[RightDoubleBracket]"}], "]"}]}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"Joined", "\[Rule]", "True"}], ",", "\[IndentingNewLine]", RowBox[{"Frame", "\[Rule]", "True"}], ",", "\[IndentingNewLine]", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\<\>\""}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"Axes", "\[Rule]", "False"}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.400761309490266*^9, 3.4007615414744473`*^9}, { 3.4007616008858023`*^9, 3.400761601622471*^9}}], Cell[BoxData[ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[{{0.25, 0.04234676874577798}, {0.5, 0.04391679801846431}, {1., 0.04537748254897546}, {2., 0.048958522855212794`}, {3., 0.05101258725512273}, {5., 0.05434564287322676}, {7., 0.05673787435262329}, {10., 0.05817466786759739}}]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], AxesOrigin->{0, 0.044}, Frame->True, FrameLabel->{ FormBox["\"term\"", TraditionalForm], FormBox["\"mean yield\"", TraditionalForm], FormBox["\"US Treasury Yield Curve - 1990:2007\"", TraditionalForm], FormBox["\"\"", TraditionalForm]}, PlotRange->{{0., 10.}, {0.04234676874577798, 0.05817466786759739}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}]], "Output", CellChangeTimes->{{3.400761354280965*^9, 3.400761367156489*^9}, { 3.400761423008286*^9, 3.400761447433485*^9}, {3.400761524598237*^9, 3.4007615418196697`*^9}, 3.4007616026663847`*^9, 3.400762597595386*^9}] }, Open ]], Cell["\<\ From the standard package StatisticalPlots we can use the function \ BoxWhiskerPlot[] to get an idea of the distribution over time.\ \>", "Text", CellChangeTimes->{{3.400762205721003*^9, 3.4007622641358423`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BoxWhiskerPlot", "[", RowBox[{ RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"3", ",", "All", ",", RowBox[{"2", ";;", "9"}]}], "\[RightDoubleBracket]"}], ",", RowBox[{"BoxLabels", "\[Rule]", RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"2", ",", RowBox[{"2", ";;", "9"}]}], "\[RightDoubleBracket]"}]}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\"", ",", "\"\\"", ",", "\"\<\>\""}], "}"}]}], ",", RowBox[{"AspectRatio", "\[Rule]", "1"}]}], "]"}]], "Input", CellChangeTimes->{{3.40076195684802*^9, 3.400762065744196*^9}, { 3.400762163614993*^9, 3.4007621719037943`*^9}}], Cell[BoxData[ GraphicsBox[{{ {Hue[0.67, 0.4, 0.8], PolygonBox[{{0.75, 0.030600000000000002`}, {1.25, 0.030600000000000002`}, {1.25, 0.0526}, {0.75, 0.0526}, {0.75, 0.030600000000000002`}}]}, {GrayLevel[0], LineBox[{{0.75, 0.030600000000000002`}, {1.25, 0.030600000000000002`}, { 1.25, 0.0526}, {0.75, 0.0526}, {0.75, 0.030600000000000002`}}], LineBox[{{0.88, 0.008100000000000001}, {1.12, 0.008100000000000001}}], LineBox[{{1, 0.008100000000000001}, {1, 0.030600000000000002`}}], LineBox[{{1, 0.0526}, {1, 0.08259999999999999}}], LineBox[{{0.88, 0.08259999999999999}, {1.12, 0.08259999999999999}}], LineBox[{{0.75, 0.0472}, {1.25, 0.0472}}]}}, { {Hue[0.67, 0.4, 0.8], PolygonBox[{{1.75, 0.0322}, {2.25, 0.0322}, {2.25, 0.0545}, {1.75, 0.0545}, {1.75, 0.0322}}]}, {GrayLevel[0], LineBox[{{1.75, 0.0322}, {2.25, 0.0322}, {2.25, 0.0545}, {1.75, 0.0545}, {1.75, 0.0322}}], LineBox[{{1.88, 0.008199999999999999}, {2.12, 0.008199999999999999}}], LineBox[{{2, 0.008199999999999999}, {2, 0.0322}}], LineBox[{{2, 0.0545}, {2, 0.0849}}], LineBox[{{1.88, 0.0849}, {2.12, 0.0849}}], LineBox[{{1.75, 0.0493}, {2.25, 0.0493}}]}}, { {Hue[0.67, 0.4, 0.8], PolygonBox[{{2.75, 0.0342}, {3.25, 0.0342}, {3.25, 0.0563}, {2.75, 0.0563}, {2.75, 0.0342}}]}, {GrayLevel[0], LineBox[{{2.75, 0.0342}, {3.25, 0.0342}, {3.25, 0.0563}, {2.75, 0.0563}, {2.75, 0.0342}}], LineBox[{{2.88, 0.0088}, {3.12, 0.0088}}], LineBox[{{3, 0.0088}, {3, 0.0342}}], LineBox[{{3, 0.0563}, {3, 0.0864}}], LineBox[{{2.88, 0.0864}, {3.12, 0.0864}}], LineBox[{{2.75, 0.0492}, {3.25, 0.0492}}]}}, { {Hue[0.67, 0.4, 0.8], PolygonBox[{{3.75, 0.0393}, {4.25, 0.0393}, {4.25, 0.0599}, {3.75, 0.0599}, {3.75, 0.0393}}]}, {GrayLevel[0], LineBox[{{3.75, 0.0393}, {4.25, 0.0393}, {4.25, 0.0599}, {3.75, 0.0599}, {3.75, 0.0393}}], LineBox[{{3.88, 0.011000000000000001`}, {4.12, 0.011000000000000001`}}], LineBox[{{4, 0.011000000000000001`}, {4, 0.0393}}], LineBox[{{4, 0.0599}, {4, 0.09050000000000001}}], LineBox[{{3.88, 0.09050000000000001}, {4.12, 0.09050000000000001}}], LineBox[{{3.75, 0.049800000000000004`}, {4.25, 0.049800000000000004`}}]}}, { {Hue[0.67, 0.4, 0.8], PolygonBox[{{4.75, 0.0421}, {5.25, 0.0421}, {5.25, 0.0616}, {4.75, 0.0616}, {4.75, 0.0421}}]}, {GrayLevel[0], LineBox[{{4.75, 0.0421}, {5.25, 0.0421}, {5.25, 0.0616}, {4.75, 0.0616}, {4.75, 0.0421}}], LineBox[{{4.88, 0.0134}, {5.12, 0.0134}}], LineBox[{{5, 0.0134}, {5, 0.0421}}], LineBox[{{5, 0.0616}, {5, 0.0911}}], LineBox[{{4.88, 0.0911}, {5.12, 0.0911}}], LineBox[{{4.75, 0.0509}, {5.25, 0.0509}}]}}, { {Hue[0.67, 0.4, 0.8], PolygonBox[{{5.75, 0.0446}, {6.25, 0.0446}, {6.25, 0.064}, {5.75, 0.064}, {5.75, 0.0446}}]}, {GrayLevel[0], LineBox[{{5.75, 0.0446}, {6.25, 0.0446}, {6.25, 0.064}, {5.75, 0.064}, { 5.75, 0.0446}}], LineBox[{{5.88, 0.020800000000000003`}, {6.12, 0.020800000000000003`}}], LineBox[{{6, 0.020800000000000003`}, {6, 0.0446}}], LineBox[{{6, 0.064}, {6, 0.091}}], LineBox[{{5.88, 0.091}, {6.12, 0.091}}], LineBox[{{5.75, 0.0543}, {6.25, 0.0543}}]}}, { {Hue[0.67, 0.4, 0.8], PolygonBox[{{6.75, 0.046}, {7.25, 0.046}, {7.25, 0.06570000000000001}, { 6.75, 0.06570000000000001}, {6.75, 0.046}}]}, {GrayLevel[0], LineBox[{{6.75, 0.046}, {7.25, 0.046}, {7.25, 0.06570000000000001}, { 6.75, 0.06570000000000001}, {6.75, 0.046}}], LineBox[{{6.88, 0.0263}, {7.12, 0.0263}}], LineBox[{{7, 0.0263}, {7, 0.046}}], LineBox[{{7, 0.06570000000000001}, {7, 0.09119999999999999}}], LineBox[{{6.88, 0.09119999999999999}, {7.12, 0.09119999999999999}}], LineBox[{{6.75, 0.0564}, {7.25, 0.0564}}]}}, { {Hue[0.67, 0.4, 0.8], PolygonBox[{{7.75, 0.046900000000000004`}, {8.25, 0.046900000000000004`}, {8.25, 0.0669}, {7.75, 0.0669}, {7.75, 0.046900000000000004`}}]}, {GrayLevel[0], LineBox[{{7.75, 0.046900000000000004`}, {8.25, 0.046900000000000004`}, { 8.25, 0.0669}, {7.75, 0.0669}, {7.75, 0.046900000000000004`}}], LineBox[{{7.88, 0.0313}, {8.12, 0.0313}}], LineBox[{{8, 0.0313}, {8, 0.046900000000000004`}}], LineBox[{{8, 0.0669}, {8, 0.0909}}], LineBox[{{7.88, 0.0909}, {8.12, 0.0909}}], LineBox[{{7.75, 0.057300000000000004`}, {8.25, 0.057300000000000004`}}]}}}, AlignmentPoint->Center, AspectRatio->1, Axes->False, AxesLabel->None, AxesOrigin->Automatic, AxesStyle->{}, Background->None, BaseStyle->{}, BaselinePosition->Automatic, ColorOutput->Automatic, ContentSelectable->Automatic, DisplayFunction:>$DisplayFunction, Epilog->{}, FormatType:>TraditionalForm, Frame->True, FrameLabel->{ FormBox["\"term\"", TraditionalForm], FormBox["\"yield\"", TraditionalForm], FormBox["\"US Treasury Yield Curve - 1990:2007\"", TraditionalForm], FormBox["\"\"", TraditionalForm]}, FrameStyle->{}, FrameTicks->{{{1, FormBox[ FractionBox["1", "4"], TraditionalForm]}, {2, FormBox[ FractionBox["1", "2"], TraditionalForm]}, {3, FormBox["1", TraditionalForm]}, {4, FormBox["2", TraditionalForm]}, {5, FormBox["3", TraditionalForm]}, {6, FormBox["5", TraditionalForm]}, {7, FormBox["7", TraditionalForm]}, {8, FormBox["10", TraditionalForm]}}, Automatic, None, None}, FrameTicksStyle->{}, GridLines->None, GridLinesStyle->{}, ImageMargins->0., ImagePadding->All, ImageSize->Automatic, LabelStyle->{}, Method->Automatic, PlotLabel->None, PlotRange->{{0.5, 8.5}, All}, PlotRangeClipping->False, PlotRangePadding->Automatic, PlotRegion->Automatic, PreserveImageOptions->Automatic, Prolog->{}, RotateLabel->True, Ticks->Automatic, TicksStyle->{}]], "Output", CellChangeTimes->{ 3.40076200028594*^9, {3.400762044938282*^9, 3.400762066156212*^9}, { 3.400762165373848*^9, 3.400762176676601*^9}, 3.4007625976595984`*^9}] }, Open ]], Cell["\<\ The slope of the yield curve is usually the difference between the 3-month \ and 30-year yield. We will use the 10-year yield as a surrogate.\ \>", "Text", CellChangeTimes->{{3.400762821850432*^9, 3.400762886003881*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DateListPlot", "[", RowBox[{ RowBox[{"Transpose", "@", RowBox[{"{", RowBox[{ RowBox[{ "dbYieldCurve", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{ RowBox[{"dbYieldCurve", "\[LeftDoubleBracket]", RowBox[{"3", ",", "All", ",", RowBox[{"{", RowBox[{"2", ",", "9"}], "}"}]}], "\[RightDoubleBracket]"}], ".", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1"}], "}"}]}]}], "}"}]}], ",", RowBox[{"Joined", "\[Rule]", "True"}]}], "]"}]], "Input", CellChangeTimes->{{3.40069436045413*^9, 3.4006944141634197`*^9}, { 3.400762917670396*^9, 3.400762942453681*^9}}], Cell[BoxData[ GraphicsBox[{{}, {}, {Hue[0.67, 0.6, 0.6], LineBox[CompressedData[" 1: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 Eu5FDsb+2RFJ/4nlJ6cbmRJZz9uLbRFv5OytJX7En5d+HgnyqE+Im43Y+F37 USx/471R1P75+wariPMwg8bSlZOYrj8ill6Y8maH3xlb+S2yF2x8Y+zoFvxe O2El/SnG5n3ifJztt0enRO7Ovzx74nj2e68ucSHmHzOWBhP3TZjXBoyj/xBv 5uW5yhjgoNaY5PjPWBlAfI/nry8j7sj1778xNun/he2hxliUvy+xwZ+3D4yF 91WrjiP7yPM3eo+D8qMLictydveNg/cLfiNewfzfUJ89xkN7c+YRX+Lsu8RX OMu3iNfy32vZJ4C+vdnI0m7i27w+1VTiJkJ7yDqRxgvm74bttxyysoO4Gm+f egpxNt5+rZcnpUTmcX06HxLLPN3vMAnao3mN+Hc2Pwzbc6bJpF/en7xSxH2Z /x6253aTk/542J6nEi/i5bkvTIH+HxQnnsHmj2F7bkNcjNsLfdIUyN/aPCU5 Pwj72wdTk/GyUL8tiW8K9mE88W1B/k3ENrfv3vmpyfktY6PZNGr/2x5NvHuR cXTMNLCX7vppoI/gzDTIT3lmOvzeXzMd7Kt8ejqUpz0mXsvtg1lgBow/0qoZ YN/Vn2ZA/sZD4hs8v+g7M+F5t/5MsEf6cUy37s2E8cJ5Kwrjj1+HOOPZL8zy GUP5B0Vh/LH/juJ49+an5F/y8UqqRZyJ/17tT3yS528sJX7c6d8b7Zaz54Pc s4CV6sTb2XwuHO/6zIL8rc9mgbzOD8QVuHxaldkpkSqczV7E9e7MSHi0TP4F s0H/3t7ZaJ9/mw36c+fOAf0He4jf4qzcnAPjn55tLvzenzUX+pe8ay60fy1O vJj3FzPLPBiP7I+Ie3B7q26fB/bKuEGclffnaOb52P/KzAf7FLSfD/bXukq8 m82XwvHixQU0n2Hz+8+Y/CWJ3281c+/fBRYz+Q3irInm05Sla1Pwean4QrCv amviKREjxXuLpRsTF4J9jn5FPNL7uvnf28LxQV2UjCeE40ML4sTb5nLZ761x xD1Y/IXJ42wkJmWdX/+AsX+O+BzrvkuYPpt+lpwfMrZHE+fi7K0jbqVE/uxw jLEqLSb/ibM7knjns1mzVTzA8g9WL07GZxgrp4hjFVf8sjszY/0/YjYaDWJs vbuE/AlenvwlcT42v13K9OcRnxbkfUC8nq03sHQ731Lq7zR7+Uli7NVbCunG j8RrOUf/xXQ37zLgoDbxRs7KQOIsBxMOsc30eZf4QWK6e5Kl+3lssn+H91Xa 0DWUtx+xz+UxlxBnZvE3Jr+UeznZBzZdYu+vVlsO7Se6iPgxi+cxdvcvB/3o lT+n+uZs9SRuwevDmU/c5dPfhlcsGcr3PTFrLbFQv7c/B/nsbl+QP8jiBaH+ 5hAvTriz55YxefcQL+Ks/kocmg+mD+OVFWQf1iQ6NGNlJzHNjUc+LMtYjxGP 5c9b8sqUyFdXf527OdNyJm9Z4p/YfJSxto241w+PyUViz5vXiY1GDd+1JzO2 X/oyJfJewpycY+yV/jI5v2e/l9oTl87ltlQijKM+8Wds/svYzbgqJfL3f6ep iTIOShDHpyUMTih/W+KCPH99MvGrbD7OnvefWw3lycWIm3PWWhFXnpqY4DI2 JxBn9gtH7XuMbYe4CJu/f87013wNjedsvsw4OpZ44qqmR4rtD+XdQCz1Hp3+ h5mhvGfXJOMHjK0ma+H9HGstvL+/lvgFtn7I3kf+mbgn16/2ZC3UpzdiHdSX tHod6EM9SVy39GSyWGH9P1qH+s6/PiVyitensnJ9Mn4S6vME8UzO1v31KP/b G5LxhVD+usSzmYFi+jGPEb8s6PMf4k4sfsHYUzaC/qTaxL9wfakDiFexeEWo 3zvEVXh9BW9sgvpUamyC3+t9N0F51mLiZ3j9yK872B6qEg9LDActw/bQm/gO b3/2QuK7nL19xDl4ezMqfQXtLdrjK2hf7jziNfx9ApeYeVe9mL6UW8T2ZId6 HGOn62ZgfzbxtZWJGmAs7yZOeFtNjzDWUomPs/jdF0yfn35N/j5b/2as7iD+ j0b7s6MZGynEF3l69OVvUiKh+Wfsfki8rfsL9+1PGOtbiRckhrsWjK1rxIPq 58nRrS5jJ9O3kJ9fijiRemcGY7kdcTsW32Vs/0J8kE1AGHsvfAfpUgniRize FMrfhnghL9+YRNz1SmJBnb1/kGFLMr4Y6vODLcn4FGO9JfG7XF/WeOLu/PfO JuJRLD4a6rPIVhpfGyQCQmF7bkZ8n8XXGNtjtkL9eeuJl/H6ks4S/8ufd0dt g/yDNcQ3eH0qp4lf4+Xpj7eBvfGHb0+JnCnxR5mq1cP6X7Ud7JP2E3E//rz5 cHsyvhjK+86OlEgfnq6uIGbL3VlD+3ac+Fv+fPTeDpT/rZ3w/kGdnVCedZS4 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 Tvi+9Qdi4XtZ9Q9i4ftm47WGZP/YeRvh98+ViR3+/aqyl7g925/AvofVbxM3 4d/HWjk+pvGA/97RiIXvRf1uxLn5953mr8SZ+fem9iuNqP8L36eUJz7Ev/eU uhAL31eqs4iF7zGDso1jT7/XD+XtRPw5/z5Wn0m8kZ0PEn6Psg1Za9+Enq+n vdJuH3sfcxqx8P2u/R2x8H2u5xNv5ulG26axp/tH2O+jk4lX8Pzcr5vC74PL TVHe55tBeb5DPJJ/vy5fJA73z4XfOz/bPBbJtnLX96/mD+UtSqyw/aeMpY3E J/n37eo54ka8vox0LWLi9+/RQsTheQIsf7cJ8Wrh+/GfiYXv1a0nxOH+eva9 ufNeS+o/VFs5ajD2Pyaewb9Hl0cS68z/Z9/n24+Iw/VJxl7+VrGn63OMpQat ID91GPEBNl8Kv39fSVyPzV8YB2+3jkX283SlXmvIXx9MXIb5a+z8AetzYoOn O8eIi/HzPswBbWLieQL2MuIyzD8Mzzs4TLyC+Z/s/AHpLnFu4fyQvm2T9pOd l+AuJhbOKwkOtI2J5xsofxKH6z3s/BD9dSMmno/gLyRW+PkK8n7i8Hwrxtrv xI/4eStmznaxSMDPY7ErEa/m54Oo37eLied1GLeIb/DzR6LZ28fE8yDcisQ1 mD0Kz5vpSiycR2Kltk/G/xk7WTvEnn6vyPL3y3WIiedJyJ90SMZrwvNaPiUW zpfxXu4YE8/LkcoSrxDk79gRfm/M6Ji07yw9upW4jnD+SelOIK/erlNMPL/E mtopGa9l5TnfdgJ5/F+IF3N9mW06gz7tSZ0h3dvcGd5futw56d+x593xn0D+ waZP4PfKhU9i4vkpevoukG4VIU4vnCezgTiVnw+knSUWzgMyn+kKbBfsCvXr Ne4K+jFOEwvnDUUfE7cSznMq0I36Gz/vKGhIrLD4f3h+ywhi4Tw65yGxcL6c /0732NPzBdn5cbJOnJPtd2HnwWlDibNxNlcQ31uT9rz0dg/Kj5/vptYlFs7X MgYR1+Dn70WX94jBeXBHkfVaPWPieVxWf2LhfDhnKbFwnpd/iHgrPw9QvtMz OV4x9j7rFRPPN5MOIKsB8Wp+HpqRq3dMPG8sWNA7Jp6/qOwj9vh5iPpvvZPj ATvvzHrVBHYixOH5UuH5Xi6xeF7dTeIFvHw7W5+YeD6iV4FYOK9N6toH3jca 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 ea9R+xbsWe1rUL/2gGsxuD/jLqYbea5De4rWuA7zI7fvdXifYDHxav4+1us3 oP04VW9Ae/R730juhw7nx4tuQP7a/hvgT3qVUmA8kXoS7+ftTZ2fAv6l8X0K +H/RWykw/9HnxKD+rN0xbA+pMZif+lnjMB81P42Df2/viEN79VLi4B9Lcmpy P3fY/8qmwnjjbk1Nfj8Q6vMa8TGhPbz0K83HhflDaeIqwn6jdr9C/cv+rzD+ aBlvov9Y4iak221uwn4Xb9LN5H5Ppl/juVvJ/aShffvgFtq3lrcg/2D8LbAX inML7UOR27Gn58uH+1+a3Ub7PPY2xPO0DbfBn5Sa/Eby8P0iqoVsrP0tJt5/ FD39G/iT7mPiMjz+p4/4PQb3ha1Cdn76HfxJ/+Hv4I/K+f+A9WR7xR8YDz7+ B/qP94l1YX377QD8Q6NuAOvVwdEA1pOVfwKIV+vKn7g+X+tPWO91+v8Jv9fu /AnxY/ONv3B9u/pf8LzXB9OlxcQq1180152YeL+aW+VOTLwvLeh1B+LRykLi Q4I/vI+4i3AfW+Rucr9oqN8ed2F9XZt3F/Rtunehfuybd2F+oXb9m+wVr39j NvE33J+M7kJ243/HxPuigiz/xMT7pJzt/4A/6t/4B/wP+eV/gbUP/4X5krfl X4hfS9f+Bf9ezXQP5ltGKeSocQ/2wym/3IP89Rfuw/qFVfw+6MtpfR/arz/x PujPzPAA6stWH0B9ei0egD6k8Q+gfHXTA4yvF34I6yFBU+IVwn1cYx5C+9LX P8T9GmceYnto/Aj2R2ijiEtwNtcQ3+XzL/vUI5ivef89gvePfvkfPO96/8H7 Bw/+A30q7zwGe+J88Rjex/+ROB/frybfe4zt960nsH/FrPMkGS8P978cJZ7G 9yuofz+B9S7jTSkuro9FaxIL66FuP2KF78/S/yIW1j+t3M/Exf1sTjViYf3M N4nvCfulPkO2X0sXh/1GvYiF9Ux1AbGwv8HYmw5+H2j/i8N9ud2R9bnEwvqj tYdYvB/zV2JhvVTrkh7YnEUsrEfaO9ODPFKWZ+PienF05rMgn7vtWXg+uP4s 5K9kzgCslyEW1pv97zJAfchXM4B+tRefi4v7LcySxLKwn6QtsbC/S73yHLyP 8fzz8YgtrM8WIxb2B7qtiMX9ZxOIhfuOrWdfiIvr+U7RF5L6D+8Db04srH9r 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 rkirXyZ/9pVp7YfJX3Flmn1g8nddCc9LqSvT+g+zZ1m/TFt/YvKX+zKtPhIc 7fxlWn0m2I1+mba/LMH6y6sov3B8SLD14ao0e87k77AqrX8x+aevSrMnTP6t q9L2yzD9llpN78vTPWN1WnyeyT91ddIesPzUb1cnxyPGxi/4+6D1mrT4O9Pv pDXJ92Wsb16TNr4y+S8hOxnWpsXLmX7Hr02zB0y/m9ZCfvb5tWnrA0z+/62D 30tF1qXF15k+z6xLrjey9EBaD/pRCq5PW/9g8jZen7a+yPR5an3a/g6mz8fr 09ZPmbwFNqSND0zehsj28A1p+1GYPh9uSFtPZfp8ZyOVx/OL1t8I7cUdshHa R/DFxjR/genzrU1p61lMn3U2pe2XYPIPRJaXb0qzz0z+o5vS7DvTZ00H6l/q 78Dv1aUOlGccctLWZ5j8fzlp+32YPj/7Km1/E5P3B+JmvD05f3yVZr+ZvK9t BjYXbIb2YO/dnDbeMHlvb07GT4cyeV/9Om39g8kb+TptfYPpc8/XafNfps9f v06Lv7P2kO0bYL3CN2n7p5n8Xb5J8zeZPuPEajgfZvrM8m3a+gyT/6Nv4Xm7 E7I389u08ZDpM/N3af4w02cZZLf9d6CPYNp30P6VLfi8U3IL6MtvuyU5/2Hy yVO2pI2nTP5vtoC+zCtb0vxppt/WW9P2jzP9Ttyatr7E5P9qa9p+CSbvs9vS 5qtMn+O2pa23MX1uJB7M2Tm3DfLz021PW19i8hYmjobrIUyf67Zje/h5e9r+ QiavtCOe/P6Iyfv+jrT5MpO30Q6QNzi5I229henzvx1p8Q8m/7s709YHmfwN dqbNh5j8w3amrRcxfT7YmRYPYPrMtyttfsTkr4fsDd4F9kP6Yhfag9q709ab mLwDdkP7V+zd8D76kd3w/nK/PWnrMUy+JXugvZgH90D/tv/ck+YfMP2Zbtp+ Qaa/RW7aejNrr/tdeN79nVjj42uQ8/u0/T9MX99/D+Orf+t7GI/lHHthfNW0 vTBf8HbvBX9A+nUvzB/UV/bhfqLy+5LP50pw9JN9sB9Cie0Df02X98N+Bqvs fpgfOB33w34kf8Z+3J/x0g+Qv136B/A/vXbEEvefpGk/wPuo3/F0ps8SB0D+ oM0B2G+lTD4A769/fSBpz5k81uXE88fS9ntoEw4S70ibv5nOQdivYV8g9rn/ 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 thNP5PnrN4gFe2plzpwq2k+nDHF23p/99sSCvTGvEgv2wH7x5VTRvnglX4b+ TRNyyE+dQizYH/d5OfXp/Ythey5G7PDylNYyvI8+UQb9WF8RN+f2SFazpEbe 5u1Na5EF28M4YpW3d3tjFtCHd444k6Dfplmh/UZHEwv23l1HLIwfwc/Ev3B7 rkivAPurX4Hn5VPEgv3U/iPuyfVnvpsN9Ct9SSyMx6qXDfq38SAb1Fc0X/bU p+czh/qulx3qQ/8xO9SX9W92sNdO3hypkbFsPhfa49rEGrcv8sAcYO/su8SC /+DleRVYqkn8HL+vXu1HfJn/3ljyKti/4PWcqZEszMEP7Vu1nJCfbhI/z/Oz FhGH86tQ/v05wf5rlV9Ljcg8P7Pna/B7ez5xHe5fSbdfg/Em2i1XauQz7m+5 c3LB88Fu4vz8PmblV2T9lddTI8v4ffD+p69DuryTeEy/xIY3lp8WIxbudzfl 3PC8XZb4NX4/uLqNWLjf3rhOvFG4n/qlN1LhvvXSxMJ9xkE7YuH+dMsnzsXz dzLmSRXvi/dLEA/h+cltiUvy+6+1ycTn2fl+4X3Jz72ZKt5vLRUjFu5jV1sR d+f3MxsTiO/w+6+jDvFE/nulqJIaWcXvB9ebEzfl94tbY4kFf9/ZQMzEzR3e r3xWAfnMJnlTn54vGN5XbeWF5721xH34fED6mVi4H1x9QlyW39/sjngL5AtW EY/g90srJ4lv8vz1R8TZ+XzEyv92qjhf1U4Qh/s5w/nkfeJ3+HzRfjtfaqSl MP+pSyzM54xjxMJ8KfoP8VU+/3SVd6i9sf2W4fyyFnFOFhAP58MDiMfx+42d O8SD+H3P/hv5U8X7juUaxCWF+XBf4gLhgMzkX4wsvf5uauTY8qrf3fmPze/V qsTCfN/oTdyWXdfNno8ufBd+7+4jfpnf16xXKkDjOWerB3HK2MQLMHbmEd/g 7LuYLt8insvi4+H9z13fS43sYdmF9yvPJp7I5ZN2I6upxLn4fdJG1vdTxfms soN4mzAfTiG+z+f71ssFUyPNeHt2PiQm4x/crRW2h63EQnzDvEa8md+vbmcq lBr5WrhvvRSxcB+41I5YmP9GfyG+yNPdFwqTPebz+6B4YXheaVMY+ps+qTCU 72cokirezy5/QNyQ38+utSQW58fjiYX73e1NxMJ98EazoqmR3bx/RscUhXR3 fVGwf8EZYlLO+fUPQnvWWE2NlOL2yRlFfJfbF3+NCvLIp4mXcnutPSbu8ulv wyuWZPbPG/5BaqQbZ2nVB/B79acPwJ5H3ymW+jSeGI4PK4iLsXhcOD4cJ36U uE77JGPrHvFaPj933iqeGmmhRP7scCwcP+oQz2Lxu1B/R4vD+9p/EyesUa6i LN17s0Tq0/USli7VQlb7E2fm8rt/Edv8/YPcJaF8pXpJyF/vQ/x+q5l7/y4Q 6vsz4l7cnsu5SoH+tSrEPXi6vaAU/N7bSyzEW4xI6dSn+wPC+u9OPJzb02AP 8REuj3KzNOjD6VIG9OXPKgPyy7vKQPvR4sSDhPE3y4epYnxHin4I47G6/UPQ j3GD+FU+fkYzl4X25JYh1nn8yLpK/Jidnx/K++JHZE+F9lnyI5BPNjDdvoLp 3vPlUp+enxzWd/Fy8P5qa0w3JiIHz5YH/SlqefAf9BbEE9j6Wij/OEx3NpbH +i5cAfI3m1aA5+3RFbD+1xGH8ejQXzhTAfwFd2RFsv/8+WA18QU+niunKoI9 0f8jZqvvLmN/mAb+iPylBuOz5hEL8T/zgQbjtZ0vkirGC9UviF8R4ok/Ek/j 9jP6bwTGczdvJbDvQW3iSzw/60glyN+5S7yIx7f9PJWB5ZqVwX/R+hHfm59Y UAzt/5/EL/P+JOWugv5XtSrYHkzicbx+o4uqgP+nvFYV2ptembgMr2+rZ1Ww r878qtAe/O+rQvs1tWqpkXmbM/VZPzW0/92I2/D69+ZUg/KkPdVAXvXXatD/ 3U+qgz0OPq0O/qqyszq251h1yN+Sa0D7l2cSj+f60LbVgN+b12vA+9kv1YR0 47uaIG/Urwn5uxlrgT0KStQC/1dpWwvqy7lcC+3Dc7VTI7sE+1CsNthfrVVt 1PeE2mBvpGfrgPxqUeIbfD5gNCceyftHdCyyu4H4Gz7+64Xqpka+5P6v1QTZ seqCP+OvRZZ/Ji7H1wfsj+sBeyOIO3N/WFpNnI/7w+pJ4rps/wJj4xGysrJ+ auQa93/1E8TCeox1n/gAX19y3tZTI/X477XPdfCPzWM65G//o4O/5ykNUsX1 Cal2AygvergB/N690wD87eCNhmS/+fqRUqMhyKP3JRbWm/yAeKmVf++EVYzl 1z9OjajCek/Vj8GfM3t/DPVjL/wY7J+asxHUj1GpEdq3HsjuPOKq3P8L3EZg f62KjVMj1Xi607UxjPf+7MZgD+TdjaE/eZ2b4Pj2aRPoT+oOZCOFeDfvH9GX m0J/UmYQV+bP61uJK/D1GesasbD+4mRqlho5yeO7filiYf3G/Jb4AI9v278Q j+HxFO+F5jRevT68XbHGYXykBHGcx1/UNs0h3uNeIhbi80GGFhAPUz5oAfEk vSVxAx5/tMa3gPiknL5lqhjP14q0hPin2Yy4dC63pRIJ431jiIX1HG99S4hX GQVbQbwr2hjZHUU86mHCwWXyBGuIczVIaCCM/54mZr2jV7j+07A1yO8Pbw35 yauIj/L30X5qDfFc82FriN9KQ9vA+6kr2oA+jONtIF4YvdcG9Ou+1Zbmozye ah1tC/Fl529k/00D4tlyLQPif/YhA+KL3l/EwnqR9EY7iJeq1dvB740+7UD/ wR/4vJKrPcb7qrSH9Q6rF3H7Rg3ftSeH8bIF7WF9RHu1A8YjI8h29w6wHuHN 7QDxMsklDvcHhPOfCh0hnud26QjznWAWsrKrI6x/6PGO0D/8Tp1SI+24/HK0 E7RPbTtxNv7+5o1OoF87c2do38aWzhjvvdoZ4vXui5+kRvrw9hGU/ATi09Y3 xML6n3OFuLKwfvl8F4jPysW7QPxaa90F+rt3sQvEx6UMXVPF9T1V7QrxeKMF 8RK2nyiUf1xXeD/lf90gPq4X7gb932raDfqXM7ob9C9/XTeIn5vvd08V12u9 kd2hP0lrumP8/1R3qD+3QQ9ob8GwHtCelC97gD50D9OtB8jykJ6gH+2LnhC/ Nn/sCfFuL28v8pd4ezDsXrAeED3SC9ev7vaC9ZQgT2+oX6Vmb8jfOdgb11P+ 7I3x/9wm+Vu8frRqyKZpQv1Kf5jQXtTX+sB6iVGZuCDXV7RnH9CHO78P6F/P 0RfXB7W+kL/TrS+sH8h7kO3y/WA88j7ph/LO6gft14j1A30FHfuDfVZm9of2 qG/rD/3Xuk48RFivemkA1K82bQCsT5jfDYD4v+0PgPi/l3Fgqrh/Qio5ENYX 3MvEF/n4HDw3CPJTig2C3+utBsF47l8YBOO//OxgWF/WihIL6/dmc2R77GB4 PzXdEPAfjEJDoLxokyHQH1xrCJQfrMXnrfeGwvs6HxNv5fbbH0F8RVjPXk08 j6+vayeHgj2Xhg0De6+uHAb6MU4gR+8Pg/VvZfBw8Kf0z4fDepB1bDistzj/ DIfxwVdGkL/M423mshEQf7MPj4D8vTvELbi8Up6RkK7WIG7F4znugZEYHwlG ov/4+iiY7+pVR0G61XsU/F7+HVnLaaU+3e8czs8qWRjf6WGBP+vNs2B+a2Qf DfO3aMXR8Hu362iI9wWzR8N8V9lNnFNY7yk3BuKbfmdk+dMxoB9txxiIZ5op Y6C9Sx3Hgv1Q/1/VecdPTaxdPBQFBDF0UJRVel+k912qUgPWa40oovJ6jb1r VHqNqPQSUBH1AqErUkIvikRB4EfRBRQmFAkgXeB9NiE7z9n/vp9JNpPJ9HLO KOIvZX9E/+4jyO/WgY+gftKGD8D1ykUDoP52/hgA9XemyECor9VGA6E/Z88f COu53t6B0H4rhQbh+nuDQXC//vAg3B+QNwielyg4GOKj1RsM+wHMB4nPh/t7 o/7jh8Sfyv5iKt8QuN6oTbxQ9m/t+4ZAf9p7fwj0P5VviKP93p+H6VljqEiH 2/PKh+z2Ji4R7kcPOXiHeGn/IhfsfiEnviL+0N08vePikLVfiPeECxQhZ3oO E+nV4f7yqH/7FvFzYYURxf8L4obhL7ze+BnD7fPDID7J14eLa+cvov0Z04mj /elRf/zH4TBecM8Mh/56UGkEpufGERCeOUW8s9GJZh07R/G9dSTuH+k8EsK9 dRiuBCNx/HDzKPheeodRsH8gcXwU7l8oNxraRzM9Gvfj9B8N+Svz2WjIn0Zp C8djbYgnyf6e94wF/TflE7w+udyC57stP4b2NuhLPJqNH6yPoT+hLf0Y4/8n 8VK2H2vkGGhPjCVjoPzb+8dAf88r+gm0V/qwT6C9sRZ+Au2D+ztyUPhTeF6i IfEHsr535iFn9hBPlO2Pev1ncH8q+Rm0T8ZDxJZsf5Q84vXhfuaofSgwFvoD et2x8H/WA8juB2Nhv4GmjBPX9mNH8wu1iAO5P9O5dxysN2TeGwfrT+rX42A+ 064+Htobr9d4nB95h7goW5+aOR7md3VvPMw3Bj0miPRc1r69OQH2C2ifEx9m +wW2TID9A8454ppyfj712kS43rCR7c3Ej7P53n8mwnyQUmkSsDWFeJGcb3Q3 EH/J1ttPEgs5X5+oOBnW57VOk2H9Xj1B3FyGpypMofExW19tPwXmN+3nifuy /eXHiNn+c73sVFgftVJTYX7ffY64jZzPDD4lXiP3b5ulpon0s3J+02k9DeY3 M/2Iy8n5R3XMNJhfTC0jniLn/7wWtuD7z5W+NlyfHE38klz/17+3IT7WQeIJ 8v0SfabDfgVtBPFWOT9oLia+PRwgROsXGeJI3ylaH75hhuD7xe0FxBfl+re3 bwbMVyqFP4f51uSdxNPk+7kOcU85HxrsJi7G1tuv+4LKq9yvoNUnjvTeov38 /yHOPr18wWj/wi7ivJKn0lufDtfvU/m/hPV8ow7xm/L/7PuJ2f50z/wS9ifo V4lnhHpE0f6FmjNF+qDcb+DeMxP2IwTvEk+T1ydmzYT/d6p9JdL9ZXwzGnF1 +Tz1beKTcj+GsZV4uvw/pccs2N+QfINYCwcIUXxnEK+Q+x2sn4ibhQ1syO7Z WbBfQ3v1a6o/Qn22kM1pxO+G5w9DdjYR5wv1tEJWb/uG+kfPvhAM3BSd55hM /Jjc3+GtJz4k00M5STxbfq/kLd/C/hK9I3Exud8jWPMtxDfxN/FZGT+t/P9o PCTPm5jtiOsMLpv387mQnf8jZufzUkeJ+4QbzKLzKGVmi/QX8nyK3ZY40v8K 2XuWuLl8vvIp8XKWniXnUPvM0rPVHEi/4Gni9jJ9Eh8TD5X7SzLN58J+E/Up 4uLy/VOjiB+V6Wl8R7xJfi/7wFz4HsknHHhffThxOL1TMorvImT3D+J/WHyL zBPp+SuzC5DR9x9CzM7vOPOJn5Dpl9lLXEk+Ty00X6RHZLvLJ8PzbakGxFvZ ecTdxKvkecZkwQUifZ08v6jXWxD3R0O2HiRuzc5P7lwQz99F5+fyLYz7z9H5 ydrELeT1zn0L4/nk6Pzk+wvj+bXoPN+VhYKfV7NrLBL8vJnXG1l5d1HcX4vO +31F/IE8L+dWXUzlX56fCnoujvtD0XmptxYLfn5L+wKvN38mvl+ex1K7L4Hr U68Ts/NgxvQlAvyHfyROMz/qM0vi+ZvI/3jqd4L7I7sbiS+G/bvovN+p7+L+ XnTe79bvRbqTPO/lTCK+IsMz64jXyfRTA+JCMr1SNy8V3J/b6LBU8PNyypql As6fHV8K/6eX+yHe3x7lhzRxP3ke0u3/A3xv7cgPgp8/NUsvi8d/0XnKNssg PPPMsnh+KjpP+QkxO89pl1gez/9F51NbLhf8fKjy9HLIX0lreTyfGnLQbEW8 HhLl3ydXQLg2kvhJGT9zCTE7b+rsXyH4edyUvlLw847GMGJ2XtReuFLw84/e 7yvhfZUiLvy/NdiF+915LuSPYI8rwE/9+lWQ37QkMTtPmJmzSnA/aTVvVbzf J9R3TBVYLdK7pF+0UZeY+V/bDxBvln7RyR3IurJG8PPkVq01gp93dO8lZn7g wXtrBPebNi8T15L6lE71tRC/TK+1gvtVq+8QG/K8eWrmWsH9zL0q6wQ/j670 JGb+5Mk3iTXpl61/vg6eZ21ZF++3i/TEu60XoLf52nrB9Z1Nm3iA1ON1NmN4 5p/1gp/nN17eILgesT2FeCnTC92wIV5/jvSOTxHvkHqbyYobBdfXDNYSM73c xImNgutlahU2Ca6HabYnPiL1LdXVxPfL61PHNsXlN9JbLbs5nu+I9GJTmwX3 4/WeIx4r9Q50f3PcH4v0gkv9GK/3R/rGrYm53nW/H+F9EmOIuZ+z+pNIN2F6 wS2Ix8jnqX2JuzD/7NHETJ/W+P6nuL4N9R6UZlsE1/tN9tkiwI9gBDHT07cW EzM/AzezRXB9W3Poz/A8ZwFyZh8x07NVC28VoL87iJjp23rOVvh+yh5ipj+R vM4TXH9ar+/B9w1mIyd2eRBfLf8vgutbmHWImf6tcz8x00tO/UbM9IeNq79A etg1fxVcT9y7h5jp7yrv/Yrp+S9xeaZ3XG2b4HrFgbZNcD3kxNsYrn25TYD+ eeXtwGqP7fC+qTe2Y36YsR3ex/6JmPlNJLv+Jrh/h/7qb4L7hVjTiJmeiLuJ mPlRBKeJmX+K+dIOuN+ZTMz8RTLriTWpX6KeJK4h9SRTt+wUXP/Em7BTcL0T ZS0x05tM/k3M/CD18rsE15O02hFzf+SjxMyP0iyTB//vtM3D+D6bJ7hfpSHy BPdTtkvuBvZa7YbypvQj9qTfSfJjYubX4d60B54XNN8Dz0s8tUdwPWltFDHT kza/I2Z+KmrTvYLreaee2Av51xi+V4DfyqK9EF/vD2KmF6M/tg/+zxqyD653 5xMLGR7s3Qf5JVHod8hvmbnETL9T3f07/F+q4B+C+4sb9YiZX40y+w/IL8md xEzvV8+XEdw/1apNzPxy3PuImT+rtp14ltT3Na/g9U6N/YL732R674f8rb67 H76XfYmY+Y97VQ8IrnesaAfgeyffIrZkedK/OBD3J6L8cMdBeF6i+0GIn/Y6 cZL5qU8n3iX9h1Jd/oT4GK/8KcCPfCox05/1NhIzP07lNIZbL/4luL6RO+kv KH/BOmLu33rzIcH9nzPjibk+7BpiU96fOn4Iyq9R7rDgerF2mpj5rSbdw/D9 9COHIf5WaUH1k4y/24aY6TkHzxAz/yTzsID86ZTwBfhHtfQF1+dVnyZm/vAp i5j5B3vFj0D6Kc2PQPoknzwiuB6UPvIIpK+1hJjpDWv6UcH9QM1hRyE9nYXE 3J/8d2JF6kvbg48J0LOdd0yAv91eYqZvm7z+uOB6XO4AYqZfFswh5v52ecfh fq3A34L7SZp1s9wwp/+V2pFlpgernBCxvlmW7VrETC/MuzcbLvXO9G2560O9 V+tyluXPrR4Irk8d9Ari54X+k4l3iE3mb3mRmOmnZaqcFNw/Uu1JzPzrUm9m w5m/5ecn4X7ljlPw/8lupwT3v9RfOwXXW/YpeD93M4Zrd5+G9DBfJmb6as6U 0xDfzIbTgutjq6dOQ/p4E/8h7pTTk1PWETN93uSJfwTX89UrnBGgrzvuTO57 Zjmx+kwuPlnWjp2J3yf8nmbZs4Lr2zmps/B+qZXETG/O8JHtUucE1yf2Wp+D cOUZYq4Xfugc5l/1vOD6dkGL8/A9E33PQ/pqo8/n0iNMzxsvQPqpzS7k0iOM f58LguvzGSOIXfl+9uIL8P7Jxhchf+qPX8T4D70owF92wUXB/SyDfcRM7858 5JLg/oHOoEsC/E6dS1De1T2XBOhdX/dvHJ9IL/ojZGUOMdPfS+4iZnrUev7L guulJ769LLg+nvbb5bh+j/S5r16G+smpeQU4c88VwfX7jF+vCK7HZ/97BZ7v VbsquN690uuq4H6nybevCq5/7V64KrhfalBZ8bkef6IHMfdzfoOY178ziLn/ 5e35fP59Ul2Jmb+28SqyPY2Y+7VuyoZLf0r9rvzw/9ZLxEzP252cH+IXrM8P z0+cJGZ67s4LBXxe/2cmELP8o67F8NTfBTD+5Qv64Ie5qiA8Tz9KzL6XVeY6 n38fty0x0xvXVhBz/1ORDZfti1Pyep/7IWdaETN/U7VfNpz5if5FzOo/76ZC PvgNtygE/598qhDGf1QheN+gWGGfl6dE08KQXtoTxCw/msMLw/s6iwpjfmhU xOd6+8ZjRXzeXtpDisD/efOLwPdQ9hGz+s56+AYf2re5xEyvNLE7G87Su2BR n9d/mQ+Lwv3q7KI+92tI7Szq8/bDyFfM5+23XTvLHXL1XfIbYtZ+6Nuz4fJn XSFOSf1Wt8aNPtdzDXojm78gO5eImZ58pmpxn7c3qpZl2V6l3iruc/1473zx OP17Z1mpfJPP/ayT3W/yuR6t/jrxtfYmy9Z04mv1cdjeJVSf691qXVSf69ea rxAr8n5nqupz/fnMRjWXf7NsdC4B4faLJeD/vEklfK4/r6wvkSuPYfyDEj7X 43X/WzJXf4TpO57YkXriiTUlfa5Hrx0v6XO9cbNcKZ/r0atjiZmeecotBdcb R0rB8+zSpX2ub+61IXZluHW4NMTfLVEG3jdoiZx4ukyu/Ibp+SexyfzIi5eF 9FObl82VlzC+T5b1uZ6wMbJsXP9G+v3Fyvmxv0iYnk3KQXrrOnGk9xuyNawc pJ+7sFyuPg7Ts2F5SD/zUeJAvr8zuDykX2Ze+Vz5D+O/t7zP9Z/thyrA9/UG VIjza3i/MrdCnD+fD+OfR8z8AvQCN8P/Jf6HrO0g1uTzTeUWP26vw/jWugXi l/r6ljh/h/nB2EbM9PHty8RJ+f5e9YoQrvSuCPdbXkXIP+7FipDfgiq3+lyf OtGT+Nr4KIz/m8Q1pJ595tytcf0ZsnrHbX7s1xPGvxsx80cwXsNw2ybm+veV Kvlc716/m5jp3VsvEzP9encKMdO/DzYQM78Es1MiTs8w3DES8fd9NYz/RAxX 1xFz/f4TGO49f7sf+9GE6TuemPkdJFcTPyjDrbJ3QHjiM2JTxk9bSXxtvBzG 1yceL+PnlKrsx/NrYXxbV46/Z6R/v6yyz/Xp7UPEs6R+vadWgecpLatgfPsS q9KPwT1IXFhycGNVP/aDDuPfjNiW+V/rUzXXXwvjP6Kqz/0T1KLVIDzVGNl4 HNkeWg2+t7cAw61HqkP+cAdVh/weONUhvyf2VIf6MfNRDT/28wnjN6cG/F9q Vw3Iz0b+mlQ+Ij/vMP0+qAnxS36LrP9GfF5eb12tCfnbrVkLyqv5ay1IT+ff WlCfZKrVhvvVXrUxvbZiuHehNtyvVKkDz0v2qAP1jf5GHZ/rzQdn60D9k7i9 LoRrXetC/WG+iuxMqwvfI3VbPZ/7exh31YP42i/Vg/zmTSYuL8ufsqEepI/V sT5+/xeImZ5/MKE+fL/E2vpQ32h/18fyPi4J9UVqFfEzsnwYR4mZP4tdpgHU Z8lPiTdKvxV9RQOf+zlYogGUV7fknZQ/pH9K0OpOCDd/IGb+Ks5fxMzvInNT Q5/7MagtGsL1qacawvt4B4hnyfpFubGRH89XhvFv2gjqH/2JRlBfWMMbYf11 Q2NIP61RY5/7x5iPNYb61RnSGOrrzHxko0ETYPthZG9gE6h/FKcJ5Jfk7ibQ PrkPNgUOPmwK+SUxuyncr+1sivVXvmaQn1WzGfQ/Ut80g/bS2I5sX8H7vRrN oT+hf9Uc/s/6pXlufBrG/1JzaH+Dqi2gPCU0ZOfnFlC+M+eJTVke1MotsTx2 bwnPN15vCeVdOdsS+kvJRKu4/x7Fv0sreB/rlVbYv5zaCuuLW1tD/8fs3Br7 Oy+2zo3/wvhPap0bv4XxX98a+od2hza58WqYvv9tA/1RZUIuPJpfW9MGxjf6 8TY+n28L+rel/BHNL4bpO7Zt3P8Mxwua2xbHS0eQndIpn8/XGcuR7cMpGM95 JdJ+7NeRZaVVGsan1tK0z/0s3D/TufFNloPi7WA8n2jeDuZTtCfb5b5/ljP7 iRXpl6cWa+/z+f9UE2RDb5/rT2TZHtbe5/P3ySIdfD7/rjfskCufYfwf7ZBr /8L4D+7gg3/cvA4QHzPZEeZbnIc65sZPYfwHdMzl7zD+czvmykcY/7yOMH73 HugE42vlw04+9w/Rd3SC6y2lM8wHJN7vjOP5rzvD/Ia5rbMPfneXO/vgp1H9 Lpg/MGYSs/lp27sL5ge8i3f5MJ9d9W7gZM+7fT6/624hvua3Eubfc1lul/N7 SdzRBcbjWrcuMP42X+sC96tnsuFs/FapK4y/jbu7wv32y12hvHlTusL9esVu MP6zOhGbcnzpGt3i+ZNwfiCY2A3KS2JdN5/7+zntu8P8SOb5LEt/FXV8d5/7 Q6ZWE/P12GPdfb5/Qenfw0+vlnrnyc+I2X4XfWWP+P0if2KfmPkBu6V6+twP UhvTE+oTc1lPn/t3Ood6+nx9MKNqPl+fVFtqPl9f8w5qPl/vUIr3gvog2awX zA/qfXr5fD43yPTKtXdhfi7aG+YLtca9Idx8vHeuPQzjO7Q3lNdU4Xt8Pt9r 3HmPz9fb7EeImf+rN4iY7U9R5hFzv9z69/p8/dv9DzHbnxF8dC/cn5hDzPaX aLuI4/X+/wcmHOTb "]]}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], AxesOrigin->NCache[{2840227200, 0}, {2.8402272*^9, 0}], Frame->True, FrameTicks->{{Automatic, Automatic}, {{{ NCache[2840140800, 2.8401408*^9], FormBox["\"1990\"", TraditionalForm]}, { NCache[2997907200, 2.9979072*^9], FormBox["\"1995\"", TraditionalForm]}, { NCache[3155673600, 3.1556736*^9], FormBox["\"2000\"", TraditionalForm]}, { NCache[3313526400, 3.3135264*^9], FormBox["\"2005\"", TraditionalForm]}, { NCache[2871676800, 2.8716768*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2903212800, 2.9032128*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2934835200, 2.9348352*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2966371200, 2.9663712*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3029443200, 3.0294432*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3061065600, 3.0610656*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3092601600, 3.0926016*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3124137600, 3.1241376*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3187296000, 3.187296*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3218832000, 3.218832*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3250368000, 3.250368*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3281904000, 3.281904*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3345062400, 3.3450624*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3376598400, 3.3765984*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3408134400, 3.4081344*^9], FormBox["\" \"", TraditionalForm]}}, {{ NCache[2840140800, 2.8401408*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2997907200, 2.9979072*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3155673600, 3.1556736*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3313526400, 3.3135264*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2871676800, 2.8716768*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2903212800, 2.9032128*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2934835200, 2.9348352*^9], FormBox["\" \"", TraditionalForm]}, { NCache[2966371200, 2.9663712*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3029443200, 3.0294432*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3061065600, 3.0610656*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3092601600, 3.0926016*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3124137600, 3.1241376*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3187296000, 3.187296*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3218832000, 3.218832*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3250368000, 3.250368*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3281904000, 3.281904*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3345062400, 3.3450624*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3376598400, 3.3765984*^9], FormBox["\" \"", TraditionalForm]}, { NCache[3408134400, 3.4081344*^9], FormBox["\" \"", TraditionalForm]}}}}, GridLines->NCache[{{{2840140800, GrayLevel[0.8]}, {2997907200, GrayLevel[0.8]}, {3155673600, GrayLevel[0.8]}, {3313526400, GrayLevel[0.8]}}, None}, {{{2.8401408*^9, GrayLevel[0.8]}, {2.9979072*^9, GrayLevel[0.8]}, {3.1556736*^9, GrayLevel[0.8]}, {3.3135264*^9, GrayLevel[0.8]}}, None}], PlotRange->{{2.8402272*^9, 3.3999264*^9}, {-0.009500000000000001, 0.038700000000000005`}}, PlotRangeClipping->True, PlotRangePadding->{ Scaled[0.02], Scaled[0.02]}, Ticks->None]], "Output", CellChangeTimes->{3.4007629433772383`*^9}] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Caveats", "Section"], Cell[TextData[{ "This is code you are meant to read and understand as part of your training \ in using ", StyleBox["Mathematica. ", FontSlant->"Italic"], "It is usable, but its main purpose is pedagogical. It is not production \ code. Normally, one would collect these functions into a ", StyleBox["Mathematica", FontSlant->"Italic"], " package which would contain extensive help text and error checking. These \ functions behave very badly if given invalid data. Eventually, we will \ produce such a package, but the purpose of this tutorial is to walk you \ through the basic steps required to access and process data available on the \ Internet into ", StyleBox["Mathematica", FontSlant->"Italic"], "." }], "Text", CellChangeTimes->{{3.397875457377119*^9, 3.397875458473637*^9}, { 3.39958251417747*^9, 3.39958255655133*^9}}] }, Open ]] }, Open ]] }, Open ]] }, WindowSize->{1271, 1012}, WindowMargins->{{177, Automatic}, {Automatic, 56}}, Visible->True, PrintingCopies->1, PrintingPageRange->{1, Automatic}, ShowSelection->True, InputAliases->{"intt" -> RowBox[{"\[Integral]", RowBox[{"\[SelectionPlaceholder]", RowBox[{"\[DifferentialD]", "\[Placeholder]"}]}]}], "dintt" -> RowBox[{ SubsuperscriptBox[ "\[Integral]", "\[SelectionPlaceholder]", "\[Placeholder]"], RowBox[{"\[Placeholder]", RowBox[{"\[DifferentialD]", "\[Placeholder]"}]}]}], "sumt" -> RowBox[{ UnderoverscriptBox["\[Sum]", RowBox[{"\[SelectionPlaceholder]", "=", "\[Placeholder]"}], "\[Placeholder]"], "\[Placeholder]"}], "prodt" -> RowBox[{ UnderoverscriptBox["\[Product]", RowBox[{"\[SelectionPlaceholder]", "=", "\[Placeholder]"}], "\[Placeholder]"], "\[Placeholder]"}], "dt" -> RowBox[{ SubscriptBox["\[PartialD]", "\[Placeholder]"], " ", "\[SelectionPlaceholder]"}], "notation" -> RowBox[{"Notation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongLeftRightArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "notation>" -> RowBox[{"Notation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongRightArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "notation<" -> RowBox[{"Notation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongLeftArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "symb" -> RowBox[{"Symbolize", "[", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], "]"}], "infixnotation" -> RowBox[{"InfixNotation", "[", RowBox[{ TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], ",", "\[Placeholder]"}], "]"}], "addia" -> RowBox[{"AddInputAlias", "[", RowBox[{"\"\[Placeholder]\"", "\[Rule]", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "pattwraper" -> TagBox["\[Placeholder]", NotationPatternTag, TagStyle -> "NotationPatternWrapperStyle"], "madeboxeswraper" -> TagBox["\[Placeholder]", NotationMadeBoxesTag, TagStyle -> "NotationMadeBoxesWrapperStyle"]}, Magnification->1.5, FrontEndVersion->"6.0 for Mac OS X x86 (32-bit) (June 19, 2007)", StyleDefinitions->FrontEnd`FileName[{"Report"}, "StandardReport.nb", CharacterEncoding -> "UTF-8"] ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[445, 16, 209, 4, 182, "Title"], Cell[657, 22, 371, 9, 93, "Subsubsection"], Cell[CellGroupData[{ Cell[1053, 35, 814, 16, 141, "Subsubtitle"], Cell[1870, 53, 535, 9, 52, "Subsubsection"], Cell[CellGroupData[{ Cell[2430, 66, 95, 1, 56, "Section"], Cell[2528, 69, 120, 2, 54, "Input"], Cell[2651, 73, 127, 2, 54, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[2815, 80, 99, 1, 103, "Section"], Cell[2917, 83, 1117, 24, 84, "Text"], Cell[4037, 109, 1670, 46, 217, "Input", CellID->1799], Cell[5710, 157, 1236, 35, 171, "Input", CellID->5712], Cell[6949, 194, 966, 28, 148, "Input", CellID->30209], Cell[7918, 224, 601, 18, 102, "Input", CellID->23263], Cell[8522, 244, 546, 9, 84, "Text"], Cell[9071, 255, 2179, 48, 194, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[11287, 308, 126, 1, 103, "Section"], Cell[11416, 311, 819, 16, 107, "Text"], Cell[12238, 329, 1008, 21, 173, "Input"], Cell[13249, 352, 138, 1, 39, "Text"], Cell[13390, 355, 521, 13, 103, "Input"], Cell[13914, 370, 347, 6, 39, "Text"], Cell[14264, 378, 1685, 38, 242, "Input"], Cell[15952, 418, 371, 6, 62, "Text"], Cell[16326, 426, 1258, 29, 172, "Input"], Cell[17587, 457, 294, 6, 62, "Text"], Cell[17884, 465, 1539, 37, 196, "Input"], Cell[19426, 504, 280, 6, 39, "Text"], Cell[19709, 512, 6943, 149, 520, "Input"], Cell[26655, 663, 1619, 33, 218, "Input"], Cell[28277, 698, 482, 12, 62, "Text"], Cell[28762, 712, 424, 9, 56, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[29223, 726, 89, 1, 103, "Section"], Cell[CellGroupData[{ Cell[29337, 731, 115, 1, 33, "Subsection"], Cell[29455, 734, 453, 12, 62, "Text"], Cell[29911, 748, 426, 9, 54, "Input"], Cell[30340, 759, 289, 5, 39, "Text"], Cell[CellGroupData[{ Cell[30654, 768, 314, 6, 54, "Input"], Cell[30971, 776, 1554, 43, 75, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[32574, 825, 104, 1, 33, "Subsection"], Cell[32681, 828, 201, 4, 39, "Text"], Cell[CellGroupData[{ Cell[32907, 836, 241, 4, 54, "Input"], Cell[33151, 842, 7252, 129, 745, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[40452, 977, 114, 1, 33, "Subsection"], Cell[40569, 980, 221, 5, 39, "Text"], Cell[CellGroupData[{ Cell[40815, 989, 180, 3, 54, "Input"], Cell[40998, 994, 228, 3, 54, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[41263, 1002, 296, 7, 54, "Input"], Cell[41562, 1011, 4107, 88, 239, "Output"] }, Open ]], Cell[45684, 1102, 356, 7, 62, "Text"], Cell[CellGroupData[{ Cell[46065, 1113, 135, 2, 54, "Input"], Cell[46203, 1117, 1517, 40, 115, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[47769, 1163, 113, 1, 33, "Subsection"], Cell[47885, 1166, 452, 9, 54, "Input"], Cell[48340, 1177, 608, 9, 84, "Text"], Cell[CellGroupData[{ Cell[48973, 1190, 1814, 42, 240, "Input"], Cell[50790, 1234, 6438, 129, 408, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[57265, 1368, 1739, 38, 240, "Input"], Cell[59007, 1408, 1282, 27, 381, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[60338, 1441, 111, 1, 33, "Subsection"], Cell[60452, 1444, 257, 5, 62, "Text"], Cell[60712, 1451, 522, 15, 78, "Input"], Cell[61237, 1468, 442, 12, 54, "Input"], Cell[61682, 1482, 125, 1, 39, "Text"], Cell[CellGroupData[{ Cell[61832, 1487, 217, 5, 54, "Input"], Cell[62052, 1494, 95, 1, 54, "Output"] }, Open ]], Cell[62162, 1498, 186, 2, 39, "Text"], Cell[CellGroupData[{ Cell[62373, 1504, 349, 7, 101, "Input"], Cell[62725, 1513, 160, 2, 54, "Output"], Cell[62888, 1517, 162, 2, 54, "Output"], Cell[63053, 1521, 161, 2, 54, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[63275, 1530, 106, 1, 103, "Section"], Cell[63384, 1533, 430, 7, 62, "Text"], Cell[63817, 1542, 180, 4, 39, "Text"], Cell[CellGroupData[{ Cell[64022, 1550, 101, 1, 33, "Subsection"], Cell[64126, 1553, 178, 4, 39, "Text"], Cell[CellGroupData[{ Cell[64329, 1561, 404, 9, 54, "Input"], Cell[64736, 1572, 166, 2, 54, "Output"] }, Open ]], Cell[64917, 1577, 156, 3, 39, "Text"], Cell[CellGroupData[{ Cell[65098, 1584, 278, 5, 54, "Input"], Cell[65379, 1591, 381, 8, 76, "Output"] }, Open ]], Cell[65775, 1602, 180, 4, 39, "Text"], Cell[65958, 1608, 1794, 42, 217, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[67789, 1655, 131, 1, 33, "Subsection"], Cell[67923, 1658, 291, 6, 39, "Text"], Cell[68217, 1666, 653, 12, 170, "Input"], Cell[CellGroupData[{ Cell[68895, 1682, 135, 2, 54, "Input"], Cell[69033, 1686, 306, 9, 54, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[69388, 1701, 110, 1, 33, "Subsection"], Cell[69501, 1704, 132, 1, 39, "Text"], Cell[CellGroupData[{ Cell[69658, 1709, 432, 12, 56, "Input"], Cell[70093, 1723, 312, 6, 54, "Output"] }, Open ]], Cell[70420, 1732, 301, 6, 62, "Text"], Cell[CellGroupData[{ Cell[70746, 1742, 923, 21, 56, "Input"], Cell[71672, 1765, 1292, 25, 576, 415, 10, "CachedBoxData", "BoxData", \ "Output"] }, Open ]], Cell[72979, 1793, 284, 6, 39, "Text"], Cell[CellGroupData[{ Cell[73288, 1803, 471, 14, 54, "Input"], Cell[73762, 1819, 1556, 61, 313, "Output"] }, Open ]], Cell[75333, 1883, 161, 3, 39, "Text"], Cell[CellGroupData[{ Cell[75519, 1890, 500, 13, 54, "Input"], Cell[76022, 1905, 36744, 634, 390, "Output"] }, Open ]], Cell[112781, 2542, 336, 6, 62, "Text"], Cell[CellGroupData[{ Cell[113142, 2552, 728, 15, 101, "Input"], Cell[113873, 2569, 485, 11, 370, "Output"] }, Open ]], Cell[114373, 2583, 105, 1, 39, "Text"], Cell[CellGroupData[{ Cell[114503, 2588, 1111, 25, 193, "Input"], Cell[115617, 2615, 1025, 22, 381, "Output"] }, Open ]], Cell[116657, 2640, 223, 4, 39, "Text"], Cell[CellGroupData[{ Cell[116905, 2648, 782, 18, 78, "Input"], Cell[117690, 2668, 6205, 142, 581, "Output"] }, Open ]], Cell[123910, 2813, 231, 4, 39, "Text"], Cell[CellGroupData[{ Cell[124166, 2821, 715, 19, 54, "Input"], Cell[124884, 2842, 40693, 699, 383, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[165638, 3548, 26, 0, 103, "Section"], Cell[165667, 3550, 843, 19, 107, "Text"] }, Open ]] }, Open ]] }, Open ]] } ] *)