./0000755000076500007650000000000010754127176015735 5ustar00massimodipierromassimodipierro00000000000000ABOUT0000666000076500007650000000005210754132446016372 0ustar00massimodipierromassimodipierro00000000000000Developed with web2py by Massimo Di PierroLICENSE0000666000076500007650000000005410754132475016606 0ustar00massimodipierromassimodipierro00000000000000Developed by Massimo Di Pierro. License BSD.__init__.py0000666000076500007650000000000010745732752017705 0ustar00massimodipierromassimodipierro00000000000000cache/0000755000076500007650000000000010754127176016643 5ustar00massimodipierromassimodipierro00000000000000cache/cache.lock0000666000076500007650000000000010752716373020553 0ustar00massimodipierromassimodipierro00000000000000controllers/0000755000076500007650000000000010754127176020146 5ustar00massimodipierromassimodipierro00000000000000controllers/appadmin.py0000666000076500007650000001263510754127176022324 0ustar00massimodipierromassimodipierro00000000000000########################################################### ### make sure administrator is on localhost ############################################################ import os, socket import gluon.contenttype import gluon.fileutils http_host = request.env.http_host.split(':')[0] remote_addr = request.env.remote_addr if remote_addr not in (http_host, socket.gethostbyname(remote_addr)): raise HTTP(400) if not gluon.fileutils.check_credentials(request): redirect('/admin') response.view='appadmin.html' response.menu=[['design',False,'/admin/default/design/%s' % request.application], ['db',False,'/%s/%s/index' % (request.application, request.controller)], ['state',False,'/%s/%s/state' % (request.application, request.controller)]] ########################################################### ### list all tables in database ############################################################ def index(): import types as _types _dbs={} for _key,_value in globals().items(): if isinstance(_value,SQLDB): tables=_dbs[_key]=[] for _tablename in _value.tables: tables.append((_key,_tablename)) return dict(dbs=_dbs) ########################################################### ### insert a new record ############################################################ def insert(): try: dbname=request.args[0] db=eval(dbname) table=request.args[1] form=SQLFORM(db[table]) except: redirect(URL(r=request,f='index')) if form.accepts(request.vars,session): response.flash='new record inserted' return dict(form=form) ########################################################### ### list all records in table and insert new record ############################################################ def download(): import os, gluon.contenttype filename=request.args[0] response.headers['Content-Type']=gluon.contenttype.contenttype(filename) return open(os.path.join(request.folder,'uploads/','%s' % filename),'rb').read() def csv(): import gluon.contenttype, csv, cStringIO response.headers['Content-Type']=gluon.contenttype.contenttype('.csv') try: dbname=request.vars.dbname db=eval(dbname) records=db(request.vars.query).select() except: redirect(URL(r=request,f='index')) s=cStringIO.StringIO() writer = csv.writer(s) writer.writerow(records.colnames) c=range(len(records.colnames)) for i in range(len(records)): writer.writerow([records.response[i][j] for j in c]) ### FILL HERE return s.getvalue() def import_csv(table,file): import csv reader = csv.reader(file) colnames=None for line in reader: if not colnames: colnames=[x[x.find('.')+1:] for x in line] c=[i for i in range(len(line)) if colnames[i]!='id'] else: items=[(colnames[i],line[i]) for i in c] table.insert(**dict(items)) def select(): try: dbname=request.args[0] db=eval(dbname) if not request.vars.query: table=request.args[1] query='%s.id>0' % table else: query=request.vars.query except: redirect(URL(r=request,f='index')) if request.vars.csvfile!=None: try: import_csv(db[table],request.vars.csvfile.file) response.flash='data uploaded' except: response.flash='unable to parse csv file' if request.vars.delete_all and request.vars.delete_all_sure=='yes': try: db(query).delete() response.flash='records deleted' except: response.flash='invalid SQL FILTER' elif request.vars.update_string: try: env=dict(db=db,query=query) exec('db(query).update('+request.vars.update_string+')') in env response.flash='records updated' except: response.flash='invalid SQL FILTER or UPDATE STRING' if request.vars.start: start=int(request.vars.start) else: start=0 limitby=(start,start+100) try: records=db(query).select(limitby=limitby) except: response.flash='invalid SQL FILTER' return dict(records='no records',nrecords=0,query=query,start=0) linkto=URL(r=request,f='update/%s'% (dbname)) upload=URL(r=request,f='download') return dict(start=start,query=query,\ nrecords=len(records),\ records=SQLTABLE(records,linkto,upload,_class='sortable')) ########################################################### ### edit delete one record ############################################################ def update(): try: dbname=request.args[0] db=eval(dbname) table=request.args[1] except: redirect(URL(r=request,f='index')) try: id=int(request.args[2]) record=db(db[table].id==id).select()[0] except: redirect(URL(r=request,f='select/%s/%s'%(dbname,table))) form=SQLFORM(db[table],record,deletable=True, linkto=URL(r=request,f='select/'+dbname), upload=URL(r=request,f='download/')) if form.accepts(request.vars,session): response.flash='done!' redirect(URL(r=request,f='select/%s/%s'%(dbname,table))) return dict(form=form) ########################################################### ### get global variables ############################################################ def state(): return dict(state=request.env) controllers/default.py0000666000076500007650000000571310754132130022140 0ustar00massimodipierromassimodipierro00000000000000import urllib, csv, datetime now=datetime.datetime.now() def index(): redirect(URL(r=request,f='start')) def start(): form=FORM(TABLE(TR('Trading Symbol:', INPUT(_name='symbol',_value="INTC", requires=IS_NOT_EMPTY())), TR('Average Risk Free Rate (%):', INPUT(_name='rate',_value="5.0", requires=IS_FLOAT_IN_RANGE(0,20,error_message="cam'on!"))), TR('Buy when slope above:', INPUT(_name='alpha',_value="0.1", requires=IS_FLOAT_IN_RANGE(0,10,error_message="cam'on!"))), TR('Sell when slope below:', INPUT(_name='beta',_value="-0.1", requires=IS_FLOAT_IN_RANGE(-10,0,error_message="cam'on!"))), TR('',INPUT(_type='submit',_value='submit')))) data=[] if form.accepts(request.vars): session.rate=0.01*form.vars.rate session.alpha=form.vars.alpha session.beta=form.vars.beta d,e,f=now.month,now.day,now.year a,b,c=now.month,now.day,now.year-1 try: reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=%i&b=%i&c=%i&d=%i&e=%i&f=%i&g=d&ignore=.csv'%(request.vars.symbol,a,b,c,d,e,f))) lineno=0 for row in reader: if lineno>0: data.append((row[0], row[-1])) lineno+=1 session.data=data session.flash='data loaded from yahoo finance!' redirect(URL(r=request,f='analysis')) except Exception: response.flash='unable to retrieve data!' return dict(form=form) def fit(data): y=[float(price) for date, price in data] aty=Matrix([[sum(y)],[sum([y[i]*i for i in range(len(y))])]]) a=Matrix([[1.0,i] for i in range(len(y))]) at=transpose(a) ata=at*a inv_ata=inverse22(ata) c=inv_ata*aty return c.data[1][0] def analysis(): w=10 alpha=session.alpha beta=session.beta rate=session.rate data=session.data data.reverse() in_bank=in_bank0=1.0 shares=0.0 table=[] table.append(TR('ACTION','DATE','$')) for t in range(0,len(data)-w): try: slope=fit(data[t:t+w]) except: session.flash='unable to parse data from yahoo finance, invalid symbol?' redirect(URL(r=request,f='start')) price=float(data[t+w-1][1]) if shares==0.0 and slope>alpha: table.append(TR('buying',data[t+w-1][0],in_bank)) shares, in_bank=in_bank/price, 0 elif in_bank==0.0 and slope\n File "applications/testtrading/controllers/default.py", line 9, in start\nTypeError: \'_csv.reader\' object is unsubscriptable\n' p8 s.errors/127.0.0.1.1202429729.5372998163360000666000076500007650000002560310752717441022353 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/views/generic.html' p4 sS'code' p5 S'\nresponse.write(\'\\n\\n\\n\\n\\n\\n\',escape=False)\nif response.title:\n response.write(\'\',escape=False)\n response.write(response.title)\n response.write(\'\',escape=False)\nelse:\n response.write(\'\',escape=False)\n response.write(URL(r=request))\n response.write(\'\',escape=False)\n pass\nresponse.write("\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n \',escape=False)\nif response.flash:\n response.write(\'\\n
\',escape=False)\n response.write(response.flash)\n response.write(\'
\\n \',escape=False)\n pass\nresponse.write(\'\\n \\n\',escape=False)\nresponse.write(BEAUTIFY(response._vars))\nresponse.write(\'\\n
\\n
\\n
\\n
\\n\\n\\n\',escape=False)\n' p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 60, in restricted\n File "applications/testtrading/views/generic.html", line 49, in \n File "gluon\\globals.pyc", line 48, in write\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 227, in xml\nTypeError: sequence item 0: expected string, list found\n' p8 s.errors/127.0.0.1.1202429741.9117716250370000666000076500007650000002560310752717455022335 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/views/generic.html' p4 sS'code' p5 S'\nresponse.write(\'\\n\\n\\n\\n\\n\\n\',escape=False)\nif response.title:\n response.write(\'\',escape=False)\n response.write(response.title)\n response.write(\'\',escape=False)\nelse:\n response.write(\'\',escape=False)\n response.write(URL(r=request))\n response.write(\'\',escape=False)\n pass\nresponse.write("\\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n \',escape=False)\nif response.flash:\n response.write(\'\\n
\',escape=False)\n response.write(response.flash)\n response.write(\'
\\n \',escape=False)\n pass\nresponse.write(\'\\n \\n\',escape=False)\nresponse.write(BEAUTIFY(response._vars))\nresponse.write(\'\\n
\\n
\\n
\\n
\\n\\n\\n\',escape=False)\n' p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 60, in restricted\n File "applications/testtrading/views/generic.html", line 49, in \n File "gluon\\globals.pyc", line 48, in write\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 134, in xml\n File "gluon\\html.pyc", line 130, in _xml\n File "gluon\\html.pyc", line 227, in xml\nTypeError: sequence item 0: expected string, list found\n' p8 s.errors/127.0.0.1.1202431033.1286992798280000666000076500007650000000202010752722071022320 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/models/la.py' p4 sS'code' p5 S'class Matrix:\n def __init__(self,data=[[]]):\n self.data=data\n def rows(self): return len(self.data)\n def cols(self): return len(self.data[0])\n def __mul__(a,b):\n data=[]\n for i in range(rows(a))):\n row=[]\n for j in range(cols(b))\n s=0.0\n for k in range(cols(a)):\n s+=a.data[i][k]*b.data[k][j]\n row.append(s)\n data.append(row)\n return Matrix(data)\n\ndef transpose(a):\n data=[]\n for j in range(cols(a)):\n row=[]\n for i in range(rows(a)):\n row.append(a.data[i][j])\n data.append(row)\n return Matrix(data)' p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 59, in restricted\n File "applications/testtrading/models/la.py", line 8\n for i in range(rows(a))):\n ^\nSyntaxError: invalid syntax\n' p8 s.errors/127.0.0.1.1202431050.8265697929440000666000076500007650000000201710752722112022321 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/models/la.py' p4 sS'code' p5 S'class Matrix:\n def __init__(self,data=[[]]):\n self.data=data\n def rows(self): return len(self.data)\n def cols(self): return len(self.data[0])\n def __mul__(a,b):\n data=[]\n for i in range(rows(a)):\n row=[]\n for j in range(cols(b))\n s=0.0\n for k in range(cols(a)):\n s+=a.data[i][k]*b.data[k][j]\n row.append(s)\n data.append(row)\n return Matrix(data)\n\ndef transpose(a):\n data=[]\n for j in range(cols(a)):\n row=[]\n for i in range(rows(a)):\n row.append(a.data[i][j])\n data.append(row)\n return Matrix(data)' p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 59, in restricted\n File "applications/testtrading/models/la.py", line 10\n for j in range(cols(b))\n \n^\nSyntaxError: invalid syntax\n' p8 s.errors/127.0.0.1.1202431067.5201656920730000666000076500007650000000255310752722133022310 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(y):\n \n \ndef analysis(): \n w=10\n data=session.data\n data.reverse()\n for t in range(0,len(data)-w):\n fit(data[t:t+w])\n return dict(data=session.data)\n \ndef test():\n return dict(something=CODE(str(Matrix([[1,2],[3,4]]))))\n\nresponse._vars=test()" p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 59, in restricted\n File "applications/testtrading/controllers/default.py", line 24\n def analysis():\n ^\nIndentationError: expected an indented block\n' p8 s.errors/127.0.0.1.1202431214.3686267251440000666000076500007650000000276110752722356022322 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(y):\n return {}\n \ndef analysis(): \n w=10\n data=session.data\n data.reverse()\n for t in range(0,len(data)-w):\n fit(data[t:t+w])\n return dict(data=session.data)\n \ndef test():\n c=Matrix([[1,2],[3,4]])*Matrix([[0,1],[1,0]])\n return dict(something=CODE(str(c.data)))\n\nresponse._vars=test()" p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 59, in restricted\n File "applications/testtrading/controllers/default.py", line 34\n return dict(something=CODE(str(c.data)))\n \n^\nIndentationError: unindent does not match any outer indentation level\n' p8 s.errors/127.0.0.1.1202431233.1594470647240000666000076500007650000000303010752722401022277 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(y):\n return {}\n \ndef analysis(): \n w=10\n data=session.data\n data.reverse()\n for t in range(0,len(data)-w):\n fit(data[t:t+w])\n return dict(data=session.data)\n \ndef test():\n c=Matrix([[1,2],[3,4]])*Matrix([[0,1],[1,0]])\n return dict(something=CODE(str(c.data)))\n\nresponse._vars=test()" p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 60, in restricted\n File "applications/testtrading/controllers/default.py", line 36, in \n File "applications/testtrading/controllers/default.py", line 33, in test\n File "applications/testtrading/models/la.py", line 8, in __mul__\nNameError: global name \'rows\' is not defined\n' p8 s.errors/127.0.0.1.1202431989.9732324605990000666000076500007650000000274410752723765022360 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(y):\n return {}\n \ndef analysis(): \n w=10\n data=session.data\n data.reverse()\n for t in range(0,len(data)-w):\n fit(data[t:t+w])\n return dict(data=session.data)\n \ndef test():\n c=inverse22(Matrix([[1,2],[3,4]]))*Matrix([[1,2],[3,4]])\n return dict(something=CODE(str(c.data)))\n\nresponse._vars=test()" p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 60, in restricted\n File "applications/testtrading/controllers/default.py", line 36, in \n File "applications/testtrading/controllers/default.py", line 33, in test\nNameError: global name \'inverse22\' is not defined\n' p8 s.errors/127.0.0.1.1202433916.2464501692310000666000076500007650000000335510752727574022331 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(y):\n aty=Matrix([[sum(y)],[sum([i*y[i] for i in range(len(y))])]])\n a=Matrix([[1,i] for i in range(len(y))])\n c=inverse22(transpose(a)*a)*aty \n return c.data[1][0]\n \ndef analysis(): \n w=10\n data=session.data\n data.reverse()\n for t in range(0,len(data)-w):\n print fit(data[t:t+w])\n return dict(data=session.data)\n \ndef test():\n c=inverse22(Matrix([[1,2],[3,4]]))*Matrix([[1,2],[3,4]])\n return dict(something=CODE(str(c.data)))\n\nresponse._vars=analysis()" p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 60, in restricted\n File "applications/testtrading/controllers/default.py", line 39, in \n File "applications/testtrading/controllers/default.py", line 32, in analysis\n File "applications/testtrading/controllers/default.py", line 22, in fit\nTypeError: unsupported operand type(s) for +: \'int\' and \'tuple\'\n' p8 s.errors/127.0.0.1.1202434097.2488304550790000666000076500007650000000361310752730061022324 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(y): \n aty=Matrix([[sum(y)],[sum([i*y[i] for i in range(len(y))])]])\n print aty.data\n a=Matrix([[1,i] for i in range(len(y))])\n print a.data\n at=transpose(a)\n print at.data\n ata=at*a\n print ata.data\n inv_ata=inverse22(ata)\n print inv_ata.data\n c=inv_ata*aty \n print c.data\n return c.data[1][0]\n \ndef analysis(): \n w=10\n data=session.data\n data.reverse()\n for t in range(0,len(data)-w):\n print fit(data[t:t+w])\n return dict(data=session.data)\n \ndef test():\n c=inverse22(Matrix([[1,2],[3,4]]))*Matrix([[1,2],[3,4]])\n return dict(something=CODE(str(c.data)))\n\nresponse._vars=analysis()" p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 60, in restricted\n File "applications/testtrading/controllers/default.py", line 48, in \n File "applications/testtrading/controllers/default.py", line 41, in analysis\n File "applications/testtrading/controllers/default.py", line 22, in fit\nTypeError: unsupported operand type(s) for +: \'int\' and \'tuple\'\n' p8 s.errors/127.0.0.1.1202434285.7103961373170000666000076500007650000000375410752730355022330 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(data): \n y=[price for date, price in data]\n print 'y=',y\n aty=Matrix([[sum(y)],[sum([i*y[i] for i in range(len(y))])]])\n print 'aty=',aty.data\n a=Matrix([[1,i] for i in range(len(y))])\n print 'a=',a.data\n at=transpose(a)\n print 'at=',at.data\n ata=at*a\n print 'ata=',ata.data\n inv_ata=inverse22(ata)\n print 'inv_ata=',inv_ata.data\n c=inv_ata*aty \n print 'c=',c.data\n return c.data[1][0]\n \ndef analysis(): \n w=10\n data=session.data\n data.reverse()\n for t in range(0,len(data)-w):\n print fit(data[t:t+w])\n return dict(data=session.data)\n \ndef test():\n c=inverse22(Matrix([[1,2],[3,4]]))*Matrix([[1,2],[3,4]])\n return dict(something=CODE(str(c.data)))\n\nresponse._vars=analysis()" p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "gluon\\restricted.pyc", line 60, in restricted\n File "applications/testtrading/controllers/default.py", line 50, in \n File "applications/testtrading/controllers/default.py", line 43, in analysis\n File "applications/testtrading/controllers/default.py", line 24, in fit\nTypeError: unsupported operand type(s) for +: \'int\' and \'str\'\n' p8 s.errors/127.0.0.1.1202434851.3521390045570000666000076500007650000000373210752731443022316 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(data): \n y=[float(price) for date, price in data]\n aty=Matrix([[sum(y)],[sum([y[i]*i for i in range(len(y))])]])\n a=Matrix([[1.0,i] for i in range(len(y))])\n at=transpose(a)\n ata=at*a\n inv_ata=inverse22(ata)\n c=inv_ata*aty \n return c.data[1][0]\n \ndef analysis(): \n w=10\n alpha=0.10\n beta=-0.10\n data=session.data\n data.reverse()\n in_bank=1.0\n shares=0.0\n for t in range(0,len(data)-w):\n slope=fit(data[t:t+w])\n price=float(data[t+w-1][1])\n if shares=0.0 and slope>alpha: shares, in_bank=in_bank/price, 0\n if in_bank=0.0 and slopealpha: shares, in_bank=in_bank/price, 0\n ^\nSyntaxError: invalid syntax\n' p8 s.errors/127.0.0.1.1202435329.7613855225080000666000076500007650000000435010752732401022317 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=1986&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(data): \n y=[float(price) for date, price in data]\n aty=Matrix([[sum(y)],[sum([y[i]*i for i in range(len(y))])]])\n a=Matrix([[1.0,i] for i in range(len(y))])\n at=transpose(a)\n ata=at*a\n inv_ata=inverse22(ata)\n c=inv_ata*aty \n return c.data[1][0]\n \ndef analysis(): \n w=10\n alpha=0.10\n beta=-0.10\n data=session.data\n data=data.reverse()\n in_bank=1.0\n shares=0.0\n table=[]\n for t in range(0,len(data)-w):\n slope=fit(data[t:t+w])\n price=float(data[t+w-1][1])\n if shares==0.0 and slope>alpha: \n table.append(TR('buying',data[t+w-1][0],in_bank))\n shares, in_bank=in_bank/price, 0\n elif in_bank==0.0 and slope\n File "applications/testtrading/controllers/default.py", line 40, in analysis\nTypeError: object of type \'NoneType\' has no len()\n' p8 s.errors/127.0.0.1.1202435653.3891493448230000666000076500007650000000457010752733105022333 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/testtrading/controllers/default.py' p4 sS'code' p5 S"import urllib, csv\n\ndef start():\n form=FORM(INPUT(_name='symbol'),\n INPUT(_type='submit',_value='submit'))\n data=[]\n if request.vars.symbol:\n try:\n reader=csv.reader(urllib.urlopen('http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=2000&d=01&e=8&f=2008&g=d&ignore=.csv'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash='data loaded from yahoo finance!'\n redirect(URL(r=request,f='analysis'))\n except Exception:\n response.flash='unable to retrieve data!'\n return dict(form=form)\n\ndef fit(data): \n y=[float(price) for date, price in data]\n aty=Matrix([[sum(y)],[sum([y[i]*i for i in range(len(y))])]])\n a=Matrix([[1.0,i] for i in range(len(y))])\n at=transpose(a)\n ata=at*a\n inv_ata=inverse22(ata)\n c=inv_ata*aty \n return c.data[1][0]\n \ndef analysis(): \n w=10\n alpha=0.10\n beta=-0.10\n data=session.data\n print data[0]\n data.reverse()\n print data[0]\n in_bank=in_bank0=1.0\n rate=0.05\n shares=0.0\n table=[]\n for t in range(0,len(data)-w):\n slope=fit(data[t:t+w])\n price=float(data[t+w-1][1])\n if shares==0.0 and slope>alpha: \n table.append(TR('buying',data[t+w-1][0],in_bank))\n shares, in_bank=in_bank/price, 0\n elif in_bank==0.0 and slope\n File "applications/testtrading/controllers/default.py", line 54, in analysis\nNameError: global name \'date\' is not defined\n' p8 s.errors/127.0.0.1.1202761711.4344061845070000644000076500007650000000602010754127757022314 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/TradingBenchmark/controllers/default.py' p4 sS'code' p5 S'import urllib, csv\n\ndef index(): redirect(URL(r=request,f=\'start\'))\n\ndef start():\n form=FORM(TABLE(TR(\'Trading Symbol:\',INPUT(_name=\'symbol\',requires=IS_NOT_EMPTY()))\n TR(\'Average Risk Free Rate (%):\',INPUT(_name=\'rate\',value="5.0",requires=IS_FLOAT_IN_RANGE(0,20,error_message="cam\'on!"))),\n TR(\'Buy when slope above:\',INPUT(_name=\'alpha\',value="0.1",requires=IS_FLOAT_IN_RANGE(0,10,error_message="cam\'on!"))),\n TR(\'Sell when slope below:\',INPUT(_name=\'beta\',value="-0.1",requires=IS_FLOAT_IN_RANGE(-10,0,error_message="cam\'on!"))),\n INPUT(_type=\'submit\',_value=\'submit\'))\n data=[]\n if form.accepts(request.vars):\n session.rate=form.rate\n session.alpha=form.alpha\n session.beta=form.beta\n try:\n reader=csv.reader(urllib.urlopen(\'http://ichart.finance.yahoo.com/table.csv?s=%s&a=02&b=13&c=2000&d=01&e=8&f=2008&g=d&ignore=.csv\'%request.vars.symbol))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash=\'data loaded from yahoo finance!\'\n redirect(URL(r=request,f=\'analysis\'))\n except Exception:\n response.flash=\'unable to retrieve data!\'\n return dict(form=form)\n\ndef fit(data): \n y=[float(price) for date, price in data]\n aty=Matrix([[sum(y)],[sum([y[i]*i for i in range(len(y))])]])\n a=Matrix([[1.0,i] for i in range(len(y))])\n at=transpose(a)\n ata=at*a\n inv_ata=inverse22(ata)\n c=inv_ata*aty \n return c.data[1][0]\n \ndef analysis(): \n w=10\n alpha=session.alpha\n beta=session.beta\n rate=session.rate\n data=session.data\n data.reverse()\n in_bank=in_bank0=1.0\n shares=0.0\n table=[]\n for t in range(0,len(data)-w):\n slope=fit(data[t:t+w])\n price=float(data[t+w-1][1])\n if shares==0.0 and slope>alpha: \n table.append(TR(\'buying\',data[t+w-1][0],in_bank))\n shares, in_bank=in_bank/price, 0\n elif in_bank==0.0 and slope0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash=\'data loaded from yahoo finance!\'\n redirect(URL(r=request,f=\'analysis\'))\n except Exception:\n response.flash=\'unable to retrieve data!\'\n return dict(form=form)\n\ndef fit(data): \n y=[float(price) for date, price in data]\n aty=Matrix([[sum(y)],[sum([y[i]*i for i in range(len(y))])]])\n a=Matrix([[1.0,i] for i in range(len(y))])\n at=transpose(a)\n ata=at*a\n inv_ata=inverse22(ata)\n c=inv_ata*aty \n return c.data[1][0]\n \ndef analysis(): \n w=10\n alpha=session.alpha\n beta=session.beta\n rate=session.rate\n data=session.data\n data.reverse()\n in_bank=in_bank0=1.0\n shares=0.0\n table=[]\n for t in range(0,len(data)-w):\n slope=fit(data[t:t+w])\n price=float(data[t+w-1][1])\n if shares==0.0 and slope>alpha: \n table.append(TR(\'buying\',data[t+w-1][0],in_bank))\n shares, in_bank=in_bank/price, 0\n elif in_bank==0.0 and slope\n File "applications/TradingBenchmark/controllers/default.py", line 20, in start\n session.rate=form.rate\nAttributeError: FORM instance has no attribute \'rate\'\n' p8 s.errors/127.0.0.1.1202762142.7619695934960000644000076500007650000000711110754130636022337 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'output' p2 S'' sS'layer' p3 S'applications/TradingBenchmark/controllers/default.py' p4 sS'code' p5 S'import urllib, csv, datetime\nnow=datetime.datetime.now()\n\ndef index(): redirect(URL(r=request,f=\'start\'))\n\ndef start():\n form=FORM(TABLE(TR(\'Trading Symbol:\',\n INPUT(_name=\'symbol\',_value="INTC",\n requires=IS_NOT_EMPTY())),\n TR(\'Average Risk Free Rate (%):\',\n INPUT(_name=\'rate\',_value="5.0",\n requires=IS_FLOAT_IN_RANGE(0,20,error_message="cam\'on!"))),\n TR(\'Buy when slope above:\',\n INPUT(_name=\'alpha\',_value="0.1",\n requires=IS_FLOAT_IN_RANGE(0,10,error_message="cam\'on!"))),\n TR(\'Sell when slope below:\',\n INPUT(_name=\'beta\',_value="-0.1",\n requires=IS_FLOAT_IN_RANGE(-10,0,error_message="cam\'on!"))),\n TR(\'\',INPUT(_type=\'submit\',_value=\'submit\'))))\n data=[]\n if form.accepts(request.vars):\n session.rate=0.01*form.vars.rate\n session.alpha=form.vars.alpha\n session.beta=form.vars.beta\n d,e,f=now.month,now.day,now.year\n a,b,c=now.month,now.day,now.year-1\n try:\n reader=csv.reader(urllib.urlopen(\'http://ichart.finance.yahoo.com/table.csv?s=%s&a=%i&b=%i&c=%i&d=%i&e=%i&f=%i&g=d&ignore=.csv\'%(request.vars.symbol,a,b,c,d,e,f)))\n lineno=0\n for row in reader:\n if lineno>0: data.append((row[0], row[-1]))\n lineno+=1\n session.data=data\n session.flash=\'data loaded from yahoo finance!\'\n redirect(URL(r=request,f=\'analysis\'))\n except Exception:\n response.flash=\'unable to retrieve data!\'\n return dict(form=form)\n\ndef fit(data): \n y=[float(price) for date, price in data]\n aty=Matrix([[sum(y)],[sum([y[i]*i for i in range(len(y))])]])\n a=Matrix([[1.0,i] for i in range(len(y))])\n at=transpose(a)\n ata=at*a\n inv_ata=inverse22(ata)\n c=inv_ata*aty \n return c.data[1][0]\n \ndef analysis(): \n w=10\n alpha=session.alpha\n beta=session.beta\n rate=session.rate\n data=session.data\n data.reverse()\n in_bank=in_bank0=1.0\n shares=0.0\n table=[]\n for t in range(0,len(data)-w):\n slope=fit(data[t:t+w])\n price=float(data[t+w-1][1])\n if shares==0.0 and slope>alpha: \n table.append(TR(\'buying\',data[t+w-1][0],in_bank))\n shares, in_bank=in_bank/price, 0\n elif in_bank==0.0 and slope\n File "applications/TradingBenchmark/controllers/default.py", line 61, in analysis\n slope=fit(data[t:t+w])\n File "applications/TradingBenchmark/controllers/default.py", line 41, in fit\n y=[float(price) for date, price in data]\nValueError: invalid literal for float(): \n' p8 s.languages/0000755000076500007650000000000010754127176017546 5ustar00massimodipierromassimodipierro00000000000000languages/it..py0000666000076500007650000000005610754127176020617 0ustar00massimodipierromassimodipierro00000000000000{ 'Hello World':'', 'Welcome to web2py':'', } languages/it.py0000666000076500007650000000010710754127176020536 0ustar00massimodipierromassimodipierro00000000000000{ 'Hello World':'Salve Mondo', 'Welcome to web2py':'Ciao da wek2py', } models/0000755000076500007650000000000010754127176017063 5ustar00massimodipierromassimodipierro00000000000000models/la.py0000666000076500007650000000156510754127176020044 0ustar00massimodipierromassimodipierro00000000000000class Matrix: def __init__(self,data=[[]]): self.data=data def rows(self): return len(self.data) def cols(self): return len(self.data[0]) def __mul__(a,b): data=[] for i in range(a.rows()): row=[] for j in range(b.cols()): s=0.0 for k in range(a.cols()): s+=a.data[i][k]*b.data[k][j] row.append(s) data.append(row) return Matrix(data) def transpose(a): data=[] for j in range(a.cols()): row=[] for i in range(a.rows()): row.append(a.data[i][j]) data.append(row) return Matrix(data) def inverse22(m): a=float(m.data[0][0]) b=float(m.data[0][1]) c=float(m.data[1][0]) d=float(m.data[1][1]) e=d/(d*a-b*c) f=b/(c*b-d*a) h=-a/b*f g=-c/d*e return Matrix([[e,f],[g,h]])modules/0000755000076500007650000000000010754127176017250 5ustar00massimodipierromassimodipierro00000000000000modules/__init__.py0000666000076500007650000000000010745732752021355 0ustar00massimodipierromassimodipierro00000000000000private/0000755000076500007650000000000010754127176017252 5ustar00massimodipierromassimodipierro00000000000000sessions/0000755000076500007650000000000010754130075017436 5ustar00massimodipierromassimodipierro00000000000000sessions/127.0.0.1.1202429179.6500235589010000666000076500007650000052322610752733250022662 0ustar00massimodipierromassimodipierro00000000000000(dp1 S'flash' p2 NsS'data' p3 (lp4 (S'2004-08-19' S'100.34' tp5 a(S'2004-08-20' S'108.31' tp6 a(S'2004-08-23' S'109.40' tp7 a(S'2004-08-24' S'104.87' tp8 a(S'2004-08-25' S'106.00' tp9 a(S'2004-08-26' S'107.91' tp10 a(S'2004-08-27' S'106.15' tp11 a(S'2004-08-30' S'102.01' tp12 a(S'2004-08-31' S'102.37' tp13 a(S'2004-09-01' p14 S'100.25' tp15 a(S'2004-09-02' S'101.51' tp16 a(S'2004-09-03' S'100.01' tp17 a(S'2004-09-07' S'101.58' tp18 a(S'2004-09-08' S'102.30' tp19 a(S'2004-09-09' S'102.31' tp20 a(S'2004-09-10' S'105.33' tp21 a(S'2004-09-13' p22 S'107.50' tp23 a(S'2004-09-14' S'111.49' tp24 a(S'2004-09-15' S'112.00' tp25 a(S'2004-09-16' S'113.97' tp26 a(S'2004-09-17' S'117.49' tp27 a(S'2004-09-20' S'119.36' tp28 a(S'2004-09-21' S'117.84' tp29 a(S'2004-09-22' S'118.38' tp30 a(S'2004-09-23' S'120.82' tp31 a(S'2004-09-24' S'119.83' tp32 a(S'2004-09-27' S'118.26' tp33 a(S'2004-09-28' S'126.86' tp34 a(S'2004-09-29' S'131.08' tp35 a(S'2004-09-30' S'129.60' tp36 a(S'2004-10-01' S'132.58' tp37 a(S'2004-10-04' S'135.06' tp38 a(S'2004-10-05' S'138.37' tp39 a(S'2004-10-06' S'137.08' tp40 a(S'2004-10-07' S'138.85' tp41 a(S'2004-10-08' S'137.73' tp42 a(S'2004-10-11' S'135.26' tp43 a(S'2004-10-12' S'137.40' tp44 a(S'2004-10-13' S'140.90' tp45 a(S'2004-10-14' S'142.00' tp46 a(S'2004-10-15' S'144.11' tp47 a(S'2004-10-18' S'149.16' tp48 a(S'2004-10-19' S'147.94' tp49 a(S'2004-10-20' S'140.49' tp50 a(S'2004-10-21' S'149.38' tp51 a(S'2004-10-22' S'172.43' tp52 a(S'2004-10-25' S'187.40' tp53 a(S'2004-10-26' S'181.80' tp54 a(S'2004-10-27' S'185.97' tp55 a(S'2004-10-28' S'193.30' tp56 a(S'2004-10-29' S'190.64' tp57 a(S'2004-11-01' S'196.03' tp58 a(S'2004-11-02' S'194.87' tp59 a(S'2004-11-03' S'191.67' tp60 a(S'2004-11-04' S'184.70' tp61 a(S'2004-11-05' p62 S'169.35' tp63 a(S'2004-11-08' S'172.55' tp64 a(S'2004-11-09' S'168.70' tp65 a(S'2004-11-10' S'167.86' tp66 a(S'2004-11-11' S'183.02' tp67 a(S'2004-11-12' S'182.00' tp68 a(S'2004-11-15' S'184.87' tp69 a(S'2004-11-16' S'172.54' tp70 a(S'2004-11-17' p71 S'172.50' tp72 a(S'2004-11-18' S'167.54' tp73 a(S'2004-11-19' p74 S'169.40' tp75 a(S'2004-11-22' S'165.10' tp76 a(S'2004-11-23' S'167.52' tp77 a(S'2004-11-24' S'174.76' tp78 a(S'2004-11-26' S'179.39' tp79 a(S'2004-11-29' p80 S'181.05' tp81 a(S'2004-11-30' S'181.98' tp82 a(S'2004-12-01' S'179.96' tp83 a(S'2004-12-02' S'179.40' tp84 a(S'2004-12-03' S'180.40' tp85 a(S'2004-12-06' S'176.29' tp86 a(S'2004-12-07' S'171.43' tp87 a(S'2004-12-08' p88 S'169.98' tp89 a(S'2004-12-09' S'173.43' tp90 a(S'2004-12-10' S'171.65' tp91 a(S'2004-12-13' S'170.45' tp92 a(S'2004-12-14' S'178.69' tp93 a(S'2004-12-15' S'179.78' tp94 a(S'2004-12-16' p95 S'176.47' tp96 a(S'2004-12-17' S'180.08' tp97 a(S'2004-12-20' S'185.02' tp98 a(S'2004-12-21' S'183.75' tp99 a(S'2004-12-22' S'186.30' tp100 a(S'2004-12-23' S'187.90' tp101 a(S'2004-12-27' S'191.91' tp102 a(S'2004-12-28' S'192.76' tp103 a(S'2004-12-29' S'192.90' tp104 a(S'2004-12-30' S'197.60' tp105 a(S'2004-12-31' S'192.79' tp106 a(S'2005-01-03' S'202.71' tp107 a(S'2005-01-04' S'194.50' tp108 a(S'2005-01-05' S'193.51' tp109 a(S'2005-01-06' S'188.55' tp110 a(S'2005-01-07' S'193.85' tp111 a(S'2005-01-10' p112 S'195.06' tp113 a(S'2005-01-11' S'193.54' tp114 a(S'2005-01-12' S'195.38' tp115 a(S'2005-01-13' S'195.33' tp116 a(S'2005-01-14' S'199.97' tp117 a(S'2005-01-18' p118 S'203.90' tp119 a(S'2005-01-19' S'197.30' tp120 a(S'2005-01-20' S'193.92' tp121 a(S'2005-01-21' S'188.28' tp122 a(S'2005-01-24' p123 S'180.72' tp124 a(S'2005-01-25' S'177.12' tp125 a(S'2005-01-26' S'189.24' tp126 a(S'2005-01-27' S'188.08' tp127 a(S'2005-01-28' S'190.34' tp128 a(S'2005-01-31' S'195.62' tp129 a(S'2005-02-01' S'191.90' tp130 a(S'2005-02-02' p131 S'205.96' tp132 a(S'2005-02-03' S'210.86' tp133 a(S'2005-02-04' S'204.36' tp134 a(S'2005-02-07' S'196.03' tp135 a(S'2005-02-08' S'198.64' tp136 a(S'2005-02-09' S'191.58' tp137 a(S'2005-02-10' p138 S'187.98' tp139 a(S'2005-02-11' S'187.40' tp140 a(S'2005-02-14' S'192.99' tp141 a(S'2005-02-15' S'195.23' tp142 a(S'2005-02-16' S'198.41' tp143 a(S'2005-02-17' S'197.90' tp144 a(S'2005-02-18' p145 S'197.95' tp146 a(S'2005-02-22' S'191.37' tp147 a(S'2005-02-23' S'193.95' tp148 a(S'2005-02-24' S'188.89' tp149 a(S'2005-02-25' p150 S'185.87' tp151 a(S'2005-02-28' S'187.99' tp152 a(S'2005-03-01' S'186.06' tp153 a(S'2005-03-02' S'185.18' tp154 a(S'2005-03-03' S'187.01' tp155 a(S'2005-03-04' S'185.90' tp156 a(S'2005-03-07' S'188.81' tp157 a(S'2005-03-08' S'185.20' tp158 a(S'2005-03-09' S'181.35' tp159 a(S'2005-03-10' S'179.98' tp160 a(S'2005-03-11' S'177.80' tp161 a(S'2005-03-14' S'174.99' tp162 a(S'2005-03-15' S'178.61' tp163 a(S'2005-03-16' S'175.60' tp164 a(S'2005-03-17' S'179.29' tp165 a(S'2005-03-18' S'180.04' tp166 a(S'2005-03-21' S'180.88' tp167 a(S'2005-03-22' S'178.60' tp168 a(S'2005-03-23' p169 S'178.98' tp170 a(S'2005-03-24' S'179.25' tp171 a(S'2005-03-28' S'181.42' tp172 a(S'2005-03-29' S'179.57' tp173 a(S'2005-03-30' S'180.45' tp174 a(S'2005-03-31' S'180.51' tp175 a(S'2005-04-01' S'180.04' tp176 a(S'2005-04-04' S'185.29' tp177 a(S'2005-04-05' S'188.57' tp178 a(S'2005-04-06' S'189.22' tp179 a(S'2005-04-07' S'193.76' tp180 a(S'2005-04-08' S'192.05' tp181 a(S'2005-04-11' S'193.23' tp182 a(S'2005-04-12' S'193.96' tp183 a(S'2005-04-13' S'192.93' tp184 a(S'2005-04-14' S'191.45' tp185 a(S'2005-04-15' S'185.00' tp186 a(S'2005-04-18' p187 S'186.97' tp188 a(S'2005-04-19' S'191.40' tp189 a(S'2005-04-20' S'198.10' tp190 a(S'2005-04-21' p191 S'204.22' tp192 a(S'2005-04-22' S'215.81' tp193 a(S'2005-04-25' S'223.53' tp194 a(S'2005-04-26' S'218.75' tp195 a(S'2005-04-27' S'219.78' tp196 a(S'2005-04-28' S'219.45' tp197 a(S'2005-04-29' S'220.00' tp198 a(S'2005-05-02' S'222.29' tp199 a(S'2005-05-03' S'226.19' tp200 a(S'2005-05-04' S'228.50' tp201 a(S'2005-05-05' S'226.98' tp202 a(S'2005-05-06' S'228.02' tp203 a(S'2005-05-09' S'226.02' tp204 a(S'2005-05-10' S'227.80' tp205 a(S'2005-05-11' S'231.29' tp206 a(S'2005-05-12' S'228.72' tp207 a(S'2005-05-13' S'229.24' tp208 a(S'2005-05-16' S'231.05' tp209 a(S'2005-05-17' S'233.13' tp210 a(S'2005-05-18' S'239.16' tp211 a(S'2005-05-19' S'239.18' tp212 a(S'2005-05-20' S'241.61' tp213 a(S'2005-05-23' S'255.45' tp214 a(S'2005-05-24' S'256.00' tp215 a(S'2005-05-25' S'260.81' tp216 a(S'2005-05-26' S'259.20' tp217 a(S'2005-05-27' S'266.00' tp218 a(S'2005-05-31' S'277.27' tp219 a(S'2005-06-01' S'288.00' tp220 a(S'2005-06-02' S'287.90' tp221 a(S'2005-06-03' S'280.26' tp222 a(S'2005-06-06' S'290.94' tp223 a(S'2005-06-07' S'293.12' tp224 a(S'2005-06-08' S'279.56' tp225 a(S'2005-06-09' S'286.31' tp226 a(S'2005-06-10' S'282.50' tp227 a(S'2005-06-13' S'282.75' tp228 a(S'2005-06-14' p229 S'278.35' tp230 a(S'2005-06-15' S'274.80' tp231 a(S'2005-06-16' S'277.44' tp232 a(S'2005-06-17' S'280.30' tp233 a(S'2005-06-20' S'286.70' tp234 a(S'2005-06-21' p235 S'287.84' tp236 a(S'2005-06-22' S'289.30' tp237 a(S'2005-06-23' S'289.71' tp238 a(S'2005-06-24' S'297.25' tp239 a(S'2005-06-27' S'304.10' tp240 a(S'2005-06-28' S'302.00' tp241 a(S'2005-06-29' S'292.72' tp242 a(S'2005-06-30' S'294.15' tp243 a(S'2005-07-01' S'291.25' tp244 a(S'2005-07-05' S'295.71' tp245 a(S'2005-07-06' S'291.52' tp246 a(S'2005-07-07' p247 S'295.54' tp248 a(S'2005-07-08' S'296.23' tp249 a(S'2005-07-11' S'293.35' tp250 a(S'2005-07-12' S'291.78' tp251 a(S'2005-07-13' p252 S'298.86' tp253 a(S'2005-07-14' S'300.89' tp254 a(S'2005-07-15' S'301.19' tp255 a(S'2005-07-18' S'299.54' tp256 a(S'2005-07-19' S'309.90' tp257 a(S'2005-07-20' S'312.00' tp258 a(S'2005-07-21' S'313.94' tp259 a(S'2005-07-22' S'302.40' tp260 a(S'2005-07-25' S'295.85' tp261 a(S'2005-07-26' S'296.09' tp262 a(S'2005-07-27' p263 S'296.93' tp264 a(S'2005-07-28' S'293.50' tp265 a(S'2005-07-29' S'287.76' tp266 a(S'2005-08-01' S'291.61' tp267 a(S'2005-08-02' S'299.19' tp268 a(S'2005-08-03' S'297.30' tp269 a(S'2005-08-04' S'297.73' tp270 a(S'2005-08-05' S'292.35' tp271 a(S'2005-08-08' S'291.25' tp272 a(S'2005-08-09' S'291.57' tp273 a(S'2005-08-10' S'285.68' tp274 a(S'2005-08-11' S'284.05' tp275 a(S'2005-08-12' S'289.72' tp276 a(S'2005-08-15' S'284.00' tp277 a(S'2005-08-16' S'285.65' tp278 a(S'2005-08-17' S'285.10' tp279 a(S'2005-08-18' S'279.99' tp280 a(S'2005-08-19' S'280.00' tp281 a(S'2005-08-22' S'274.01' tp282 a(S'2005-08-23' S'279.58' tp283 a(S'2005-08-24' S'282.57' tp284 a(S'2005-08-25' S'282.59' tp285 a(S'2005-08-26' S'283.58' tp286 a(S'2005-08-29' p287 S'288.45' tp288 a(S'2005-08-30' S'287.27' tp289 a(S'2005-08-31' S'286.00' tp290 a(S'2005-09-01' S'286.25' tp291 a(S'2005-09-02' S'288.45' tp292 a(S'2005-09-06' S'287.11' tp293 a(S'2005-09-07' S'294.87' tp294 a(S'2005-09-08' S'295.39' tp295 a(S'2005-09-09' S'299.09' tp296 a(S'2005-09-12' S'309.74' tp297 a(S'2005-09-13' S'311.68' tp298 a(S'2005-09-14' S'303.00' tp299 a(S'2005-09-15' S'302.62' tp300 a(S'2005-09-16' S'300.20' tp301 a(S'2005-09-19' S'303.79' tp302 a(S'2005-09-20' S'307.91' tp303 a(S'2005-09-21' S'311.90' tp304 a(S'2005-09-22' S'311.37' tp305 a(S'2005-09-23' S'315.36' tp306 a(S'2005-09-26' S'314.28' tp307 a(S'2005-09-27' S'313.94' tp308 a(S'2005-09-28' S'306.00' tp309 a(S'2005-09-29' S'309.62' tp310 a(S'2005-09-30' S'316.46' tp311 a(S'2005-10-03' S'318.68' tp312 a(S'2005-10-04' S'311.00' tp313 a(S'2005-10-05' S'310.71' tp314 a(S'2005-10-06' p315 S'312.75' tp316 a(S'2005-10-07' S'312.99' tp317 a(S'2005-10-10' S'310.65' tp318 a(S'2005-10-11' S'306.10' tp319 a(S'2005-10-12' S'300.97' tp320 a(S'2005-10-13' S'297.44' tp321 a(S'2005-10-14' S'296.14' tp322 a(S'2005-10-17' S'305.00' tp323 a(S'2005-10-18' S'303.28' tp324 a(S'2005-10-19' S'308.70' tp325 a(S'2005-10-20' S'303.20' tp326 a(S'2005-10-21' p327 S'339.90' tp328 a(S'2005-10-24' S'348.65' tp329 a(S'2005-10-25' S'346.91' tp330 a(S'2005-10-26' S'355.44' tp331 a(S'2005-10-27' S'353.06' tp332 a(S'2005-10-28' S'358.17' tp333 a(S'2005-10-31' S'372.14' tp334 a(S'2005-11-01' S'379.38' tp335 a(S'2005-11-02' S'379.68' tp336 a(S'2005-11-03' S'385.95' tp337 a(S'2005-11-04' S'390.43' tp338 a(S'2005-11-07' S'395.03' tp339 a(S'2005-11-08' S'389.90' tp340 a(S'2005-11-09' S'379.15' tp341 a(S'2005-11-10' S'391.10' tp342 a(S'2005-11-11' S'390.40' tp343 a(S'2005-11-14' S'396.97' tp344 a(S'2005-11-15' S'392.80' tp345 a(S'2005-11-16' S'398.15' tp346 a(S'2005-11-17' S'403.45' tp347 a(S'2005-11-18' S'400.21' tp348 a(S'2005-11-21' S'409.36' tp349 a(S'2005-11-22' S'416.47' tp350 a(S'2005-11-23' S'422.86' tp351 a(S'2005-11-25' S'428.62' tp352 a(S'2005-11-28' S'423.48' tp353 a(S'2005-11-29' S'403.54' tp354 a(S'2005-11-30' S'404.91' tp355 a(S'2005-12-01' S'414.09' tp356 a(S'2005-12-02' S'417.70' tp357 a(S'2005-12-05' p358 S'405.85' tp359 a(S'2005-12-06' S'404.54' tp360 a(S'2005-12-07' S'404.22' tp361 a(S'2005-12-08' S'410.65' tp362 a(S'2005-12-09' S'409.20' tp363 a(S'2005-12-12' p364 S'412.61' tp365 a(S'2005-12-13' S'417.49' tp366 a(S'2005-12-14' S'418.96' tp367 a(S'2005-12-15' S'422.55' tp368 a(S'2005-12-16' S'430.15' tp369 a(S'2005-12-19' S'424.60' tp370 a(S'2005-12-20' S'429.74' tp371 a(S'2005-12-21' S'426.33' tp372 a(S'2005-12-22' S'432.04' tp373 a(S'2005-12-23' S'430.93' tp374 a(S'2005-12-27' S'424.64' tp375 a(S'2005-12-28' S'426.69' tp376 a(S'2005-12-29' p377 S'420.15' tp378 a(S'2005-12-30' S'414.86' tp379 a(S'2006-01-03' S'435.23' tp380 a(S'2006-01-04' p381 S'445.24' tp382 a(S'2006-01-05' S'451.24' tp383 a(S'2006-01-06' S'465.66' tp384 a(S'2006-01-09' S'466.90' tp385 a(S'2006-01-10' S'469.76' tp386 a(S'2006-01-11' S'471.63' tp387 a(S'2006-01-12' S'463.63' tp388 a(S'2006-01-13' S'466.25' tp389 a(S'2006-01-17' S'467.11' tp390 a(S'2006-01-18' S'444.91' tp391 a(S'2006-01-19' p392 S'436.45' tp393 a(S'2006-01-20' S'399.46' tp394 a(S'2006-01-23' S'427.50' tp395 a(S'2006-01-24' S'443.03' tp396 a(S'2006-01-25' S'433.00' tp397 a(S'2006-01-26' S'434.27' tp398 a(S'2006-01-27' S'433.49' tp399 a(S'2006-01-30' S'426.82' tp400 a(S'2006-01-31' S'432.66' tp401 a(S'2006-02-01' S'401.78' tp402 a(S'2006-02-02' S'396.04' tp403 a(S'2006-02-03' S'381.55' tp404 a(S'2006-02-06' S'385.10' tp405 a(S'2006-02-07' S'367.92' tp406 a(S'2006-02-08' S'369.08' tp407 a(S'2006-02-09' S'358.77' tp408 a(S'2006-02-10' S'362.61' tp409 a(S'2006-02-13' S'345.70' tp410 a(S'2006-02-14' S'343.32' tp411 a(S'2006-02-15' S'342.38' tp412 a(S'2006-02-16' S'366.46' tp413 a(S'2006-02-17' S'368.75' tp414 a(S'2006-02-21' S'366.59' tp415 a(S'2006-02-22' p416 S'365.49' tp417 a(S'2006-02-23' S'378.07' tp418 a(S'2006-02-24' S'377.40' tp419 a(S'2006-02-27' S'390.38' tp420 a(S'2006-02-28' S'362.62' tp421 a(S'2006-03-01' S'364.80' tp422 a(S'2006-03-02' S'376.45' tp423 a(S'2006-03-03' S'378.18' tp424 a(S'2006-03-06' S'368.10' tp425 a(S'2006-03-07' p426 S'364.45' tp427 a(S'2006-03-08' S'353.88' tp428 a(S'2006-03-09' S'343.00' tp429 a(S'2006-03-10' S'337.50' tp430 a(S'2006-03-13' S'337.06' tp431 a(S'2006-03-14' S'351.16' tp432 a(S'2006-03-15' S'344.50' tp433 a(S'2006-03-16' S'338.77' tp434 a(S'2006-03-17' S'339.79' tp435 a(S'2006-03-20' S'348.19' tp436 a(S'2006-03-21' S'339.92' tp437 a(S'2006-03-22' S'340.22' tp438 a(S'2006-03-23' p439 S'341.89' tp440 a(S'2006-03-24' S'365.80' tp441 a(S'2006-03-27' S'369.69' tp442 a(S'2006-03-28' S'377.20' tp443 a(S'2006-03-29' S'394.98' tp444 a(S'2006-03-30' S'388.44' tp445 a(S'2006-03-31' S'390.00' tp446 a(S'2006-04-03' S'389.70' tp447 a(S'2006-04-04' S'404.34' tp448 a(S'2006-04-05' S'407.99' tp449 a(S'2006-04-06' S'411.18' tp450 a(S'2006-04-07' S'406.16' tp451 a(S'2006-04-10' S'416.38' tp452 a(S'2006-04-11' S'409.66' tp453 a(S'2006-04-12' S'408.95' tp454 a(S'2006-04-13' S'402.16' tp455 a(S'2006-04-17' S'406.82' tp456 a(S'2006-04-18' p457 S'404.24' tp458 a(S'2006-04-19' S'410.50' tp459 a(S'2006-04-20' S'415.00' tp460 a(S'2006-04-21' p461 S'437.10' tp462 a(S'2006-04-24' S'440.50' tp463 a(S'2006-04-25' S'427.16' tp464 a(S'2006-04-26' S'425.97' tp465 a(S'2006-04-27' S'420.03' tp466 a(S'2006-04-28' S'417.94' tp467 a(S'2006-05-01' p468 S'398.90' tp469 a(S'2006-05-02' S'394.80' tp470 a(S'2006-05-03' S'394.17' tp471 a(S'2006-05-04' S'394.75' tp472 a(S'2006-05-05' S'394.30' tp473 a(S'2006-05-08' S'394.78' tp474 a(S'2006-05-09' S'408.80' tp475 a(S'2006-05-10' S'402.98' tp476 a(S'2006-05-11' S'387.00' tp477 a(S'2006-05-12' S'374.13' tp478 a(S'2006-05-15' S'376.20' tp479 a(S'2006-05-16' S'371.30' tp480 a(S'2006-05-17' S'374.50' tp481 a(S'2006-05-18' S'370.99' tp482 a(S'2006-05-19' S'370.02' tp483 a(S'2006-05-22' S'370.95' tp484 a(S'2006-05-23' S'375.58' tp485 a(S'2006-05-24' S'381.25' tp486 a(S'2006-05-25' p487 S'382.99' tp488 a(S'2006-05-26' S'381.35' tp489 a(S'2006-05-30' S'371.94' tp490 a(S'2006-05-31' S'371.82' tp491 a(S'2006-06-01' S'382.62' tp492 a(S'2006-06-02' S'379.44' tp493 a(S'2006-06-05' S'374.44' tp494 a(S'2006-06-06' S'389.99' tp495 a(S'2006-06-07' S'386.51' tp496 a(S'2006-06-08' S'393.30' tp497 a(S'2006-06-09' S'386.57' tp498 a(S'2006-06-12' S'381.54' tp499 a(S'2006-06-13' S'386.52' tp500 a(S'2006-06-14' S'384.39' tp501 a(S'2006-06-15' S'391.00' tp502 a(S'2006-06-16' S'390.70' tp503 a(S'2006-06-19' S'388.14' tp504 a(S'2006-06-20' S'387.17' tp505 a(S'2006-06-21' S'402.13' tp506 a(S'2006-06-22' S'399.95' tp507 a(S'2006-06-23' S'404.86' tp508 a(S'2006-06-26' S'404.22' tp509 a(S'2006-06-27' S'402.32' tp510 a(S'2006-06-28' S'406.11' tp511 a(S'2006-06-29' S'417.81' tp512 a(S'2006-06-30' S'419.33' tp513 a(S'2006-07-03' S'423.20' tp514 a(S'2006-07-05' S'421.46' tp515 a(S'2006-07-06' S'423.19' tp516 a(S'2006-07-07' S'420.45' tp517 a(S'2006-07-10' S'418.20' tp518 a(S'2006-07-11' S'424.56' tp519 a(S'2006-07-12' S'417.25' tp520 a(S'2006-07-13' p521 S'408.83' tp522 a(S'2006-07-14' S'403.50' tp523 a(S'2006-07-17' S'407.89' tp524 a(S'2006-07-18' S'403.05' tp525 a(S'2006-07-19' S'399.00' tp526 a(S'2006-07-20' S'387.12' tp527 a(S'2006-07-21' S'390.11' tp528 a(S'2006-07-24' S'390.90' tp529 a(S'2006-07-25' S'389.36' tp530 a(S'2006-07-26' S'385.50' tp531 a(S'2006-07-27' S'382.40' tp532 a(S'2006-07-28' S'388.12' tp533 a(S'2006-07-31' S'386.60' tp534 a(S'2006-08-01' S'375.51' tp535 a(S'2006-08-02' S'367.23' tp536 a(S'2006-08-03' S'375.39' tp537 a(S'2006-08-04' S'373.85' tp538 a(S'2006-08-07' S'377.95' tp539 a(S'2006-08-08' S'381.00' tp540 a(S'2006-08-09' S'376.94' tp541 a(S'2006-08-10' S'374.20' tp542 a(S'2006-08-11' S'368.50' tp543 a(S'2006-08-14' S'369.43' tp544 a(S'2006-08-15' p545 S'380.97' tp546 a(S'2006-08-16' S'387.72' tp547 a(S'2006-08-17' S'385.80' tp548 a(S'2006-08-18' S'383.36' tp549 a(S'2006-08-21' S'377.30' tp550 a(S'2006-08-22' S'378.29' tp551 a(S'2006-08-23' S'373.43' tp552 a(S'2006-08-24' S'373.73' tp553 a(S'2006-08-25' p554 S'373.26' tp555 a(S'2006-08-28' S'380.95' tp556 a(S'2006-08-29' S'378.95' tp557 a(S'2006-08-30' S'380.75' tp558 a(S'2006-08-31' S'378.53' tp559 a(S'2006-09-01' p560 S'378.60' tp561 a(S'2006-09-05' S'384.36' tp562 a(S'2006-09-06' S'380.14' tp563 a(S'2006-09-07' S'378.49' tp564 a(S'2006-09-08' S'377.85' tp565 a(S'2006-09-11' S'384.09' tp566 a(S'2006-09-12' S'391.90' tp567 a(S'2006-09-13' S'406.57' tp568 a(S'2006-09-14' S'403.98' tp569 a(S'2006-09-15' S'409.88' tp570 a(S'2006-09-18' S'414.69' tp571 a(S'2006-09-19' S'403.81' tp572 a(S'2006-09-20' S'397.00' tp573 a(S'2006-09-21' S'406.85' tp574 a(S'2006-09-22' S'403.78' tp575 a(S'2006-09-25' S'403.98' tp576 a(S'2006-09-26' p577 S'406.87' tp578 a(S'2006-09-27' S'402.92' tp579 a(S'2006-09-28' S'403.58' tp580 a(S'2006-09-29' S'401.90' tp581 a(S'2006-10-02' S'401.44' tp582 a(S'2006-10-03' S'404.04' tp583 a(S'2006-10-04' p584 S'415.70' tp585 a(S'2006-10-05' S'411.81' tp586 a(S'2006-10-06' S'420.50' tp587 a(S'2006-10-09' S'429.00' tp588 a(S'2006-10-10' S'426.65' tp589 a(S'2006-10-11' S'426.50' tp590 a(S'2006-10-12' S'427.44' tp591 a(S'2006-10-13' S'427.30' tp592 a(S'2006-10-16' S'421.75' tp593 a(S'2006-10-17' S'420.64' tp594 a(S'2006-10-18' S'419.31' tp595 a(S'2006-10-19' p596 S'426.06' tp597 a(S'2006-10-20' p598 S'459.67' tp599 a(S'2006-10-23' S'480.78' tp600 a(S'2006-10-24' S'473.31' tp601 a(S'2006-10-25' S'486.60' tp602 a(S'2006-10-26' S'485.10' tp603 a(S'2006-10-27' S'475.20' tp604 a(S'2006-10-30' S'476.57' tp605 a(S'2006-10-31' S'476.39' tp606 a(S'2006-11-01' S'467.50' tp607 a(S'2006-11-02' p608 S'469.91' tp609 a(S'2006-11-03' S'471.80' tp610 a(S'2006-11-06' S'476.95' tp611 a(S'2006-11-07' S'472.57' tp612 a(S'2006-11-08' S'475.00' tp613 a(S'2006-11-09' S'472.63' tp614 a(S'2006-11-10' S'473.55' tp615 a(S'2006-11-13' p616 S'481.03' tp617 a(S'2006-11-14' S'489.30' tp618 a(S'2006-11-15' S'491.93' tp619 a(S'2006-11-16' S'495.90' tp620 a(S'2006-11-17' S'498.79' tp621 a(S'2006-11-20' S'495.05' tp622 a(S'2006-11-21' S'509.65' tp623 a(S'2006-11-22' S'508.01' tp624 a(S'2006-11-24' S'505.00' tp625 a(S'2006-11-27' S'484.75' tp626 a(S'2006-11-28' S'489.50' tp627 a(S'2006-11-29' p628 S'484.65' tp629 a(S'2006-11-30' S'484.81' tp630 a(S'2006-12-01' S'480.80' tp631 a(S'2006-12-04' S'484.85' tp632 a(S'2006-12-05' S'487.00' tp633 a(S'2006-12-06' S'488.71' tp634 a(S'2006-12-07' S'482.64' tp635 a(S'2006-12-08' S'484.11' tp636 a(S'2006-12-11' S'483.93' tp637 a(S'2006-12-12' S'481.78' tp638 a(S'2006-12-13' S'478.99' tp639 a(S'2006-12-14' S'482.12' tp640 a(S'2006-12-15' S'480.30' tp641 a(S'2006-12-18' S'462.80' tp642 a(S'2006-12-19' S'468.63' tp643 a(S'2006-12-20' S'462.90' tp644 a(S'2006-12-21' S'456.20' tp645 a(S'2006-12-22' S'455.58' tp646 a(S'2006-12-26' S'457.53' tp647 a(S'2006-12-27' S'468.03' tp648 a(S'2006-12-28' S'462.56' tp649 a(S'2006-12-29' S'460.48' tp650 a(S'2007-01-03' p651 S'467.59' tp652 a(S'2007-01-04' S'483.26' tp653 a(S'2007-01-05' S'487.19' tp654 a(S'2007-01-08' S'483.58' tp655 a(S'2007-01-09' S'485.50' tp656 a(S'2007-01-10' S'489.46' tp657 a(S'2007-01-11' S'499.72' tp658 a(S'2007-01-12' S'505.00' tp659 a(S'2007-01-16' S'504.28' tp660 a(S'2007-01-17' S'497.28' tp661 a(S'2007-01-18' S'487.83' tp662 a(S'2007-01-19' S'489.75' tp663 a(S'2007-01-22' S'480.84' tp664 a(S'2007-01-23' p665 S'479.05' tp666 a(S'2007-01-24' S'499.07' tp667 a(S'2007-01-25' S'488.09' tp668 a(S'2007-01-26' S'495.84' tp669 a(S'2007-01-29' S'492.47' tp670 a(S'2007-01-30' p671 S'494.32' tp672 a(S'2007-01-31' S'501.50' tp673 a(S'2007-02-01' S'481.75' tp674 a(S'2007-02-02' S'481.50' tp675 a(S'2007-02-05' p676 S'467.16' tp677 a(S'2007-02-06' S'471.48' tp678 a(S'2007-02-07' S'470.01' tp679 a(S'2007-02-08' S'471.03' tp680 a(S'2007-02-09' S'461.89' tp681 a(S'2007-02-12' S'458.29' tp682 a(S'2007-02-13' S'459.10' tp683 a(S'2007-02-14' S'465.93' tp684 a(S'2007-02-15' S'461.47' tp685 a(S'2007-02-16' S'469.94' tp686 a(S'2007-02-20' S'472.10' tp687 a(S'2007-02-21' p688 S'475.86' tp689 a(S'2007-02-22' S'475.85' tp690 a(S'2007-02-23' S'470.62' tp691 a(S'2007-02-26' S'464.93' tp692 a(S'2007-02-27' p693 S'448.77' tp694 a(S'2007-02-28' S'449.45' tp695 a(S'2007-03-01' S'448.23' tp696 a(S'2007-03-02' S'438.68' tp697 a(S'2007-03-05' S'440.95' tp698 a(S'2007-03-06' S'457.55' tp699 a(S'2007-03-07' S'455.64' tp700 a(S'2007-03-08' S'454.72' tp701 a(S'2007-03-09' S'452.96' tp702 a(S'2007-03-12' p703 S'454.75' tp704 a(S'2007-03-13' S'443.03' tp705 a(S'2007-03-14' S'448.00' tp706 a(S'2007-03-15' S'446.19' tp707 a(S'2007-03-16' p708 S'440.85' tp709 a(S'2007-03-19' S'447.23' tp710 a(S'2007-03-20' S'445.28' tp711 a(S'2007-03-21' S'456.55' tp712 a(S'2007-03-22' p713 S'462.04' tp714 a(S'2007-03-23' S'461.83' tp715 a(S'2007-03-26' S'465.00' tp716 a(S'2007-03-27' S'463.62' tp717 a(S'2007-03-28' S'461.88' tp718 a(S'2007-03-29' S'460.92' tp719 a(S'2007-03-30' S'458.16' tp720 a(S'2007-04-02' S'458.53' tp721 a(S'2007-04-03' S'472.60' tp722 a(S'2007-04-04' S'471.02' tp723 a(S'2007-04-05' S'471.51' tp724 a(S'2007-04-09' S'468.21' tp725 a(S'2007-04-10' S'466.50' tp726 a(S'2007-04-11' S'464.53' tp727 a(S'2007-04-12' S'467.39' tp728 a(S'2007-04-13' S'466.29' tp729 a(S'2007-04-16' S'474.27' tp730 a(S'2007-04-17' S'472.80' tp731 a(S'2007-04-18' S'476.01' tp732 a(S'2007-04-19' S'471.65' tp733 a(S'2007-04-20' S'482.48' tp734 a(S'2007-04-23' S'479.08' tp735 a(S'2007-04-24' S'477.53' tp736 a(S'2007-04-25' S'477.99' tp737 a(S'2007-04-26' S'481.18' tp738 a(S'2007-04-27' S'479.01' tp739 a(S'2007-04-30' S'471.38' tp740 a(S'2007-05-01' p741 S'469.00' tp742 a(S'2007-05-02' S'465.78' tp743 a(S'2007-05-03' S'473.23' tp744 a(S'2007-05-04' S'471.12' tp745 a(S'2007-05-07' S'467.27' tp746 a(S'2007-05-08' S'466.81' tp747 a(S'2007-05-09' S'469.25' tp748 a(S'2007-05-10' S'461.47' tp749 a(S'2007-05-11' S'466.74' tp750 a(S'2007-05-14' S'461.78' tp751 a(S'2007-05-15' S'458.00' tp752 a(S'2007-05-16' S'472.61' tp753 a(S'2007-05-17' S'470.96' tp754 a(S'2007-05-18' p755 S'470.32' tp756 a(S'2007-05-21' S'470.60' tp757 a(S'2007-05-22' S'475.86' tp758 a(S'2007-05-23' S'473.97' tp759 a(S'2007-05-24' S'474.33' tp760 a(S'2007-05-25' S'483.52' tp761 a(S'2007-05-29' S'487.11' tp762 a(S'2007-05-30' S'498.60' tp763 a(S'2007-05-31' S'497.91' tp764 a(S'2007-06-01' S'500.40' tp765 a(S'2007-06-04' S'507.07' tp766 a(S'2007-06-05' S'518.84' tp767 a(S'2007-06-06' S'518.25' tp768 a(S'2007-06-07' S'515.06' tp769 a(S'2007-06-08' S'515.49' tp770 a(S'2007-06-11' S'511.34' tp771 a(S'2007-06-12' S'504.77' tp772 a(S'2007-06-13' S'505.24' tp773 a(S'2007-06-14' p774 S'502.84' tp775 a(S'2007-06-15' S'505.89' tp776 a(S'2007-06-18' S'515.20' tp777 a(S'2007-06-19' S'514.31' tp778 a(S'2007-06-20' S'509.97' tp779 a(S'2007-06-21' p780 S'514.11' tp781 a(S'2007-06-22' S'524.98' tp782 a(S'2007-06-25' S'527.42' tp783 a(S'2007-06-26' S'530.26' tp784 a(S'2007-06-27' S'526.29' tp785 a(S'2007-06-28' S'525.01' tp786 a(S'2007-06-29' S'522.70' tp787 a(S'2007-07-02' S'530.38' tp788 a(S'2007-07-03' S'534.34' tp789 a(S'2007-07-05' S'541.63' tp790 a(S'2007-07-06' S'539.40' tp791 a(S'2007-07-09' S'542.56' tp792 a(S'2007-07-10' S'543.34' tp793 a(S'2007-07-11' S'544.47' tp794 a(S'2007-07-12' S'545.33' tp795 a(S'2007-07-13' S'552.16' tp796 a(S'2007-07-16' S'552.99' tp797 a(S'2007-07-17' S'555.00' tp798 a(S'2007-07-18' S'549.50' tp799 a(S'2007-07-19' S'548.59' tp800 a(S'2007-07-20' p801 S'520.12' tp802 a(S'2007-07-23' S'512.51' tp803 a(S'2007-07-24' S'514.00' tp804 a(S'2007-07-25' S'509.76' tp805 a(S'2007-07-26' S'508.00' tp806 a(S'2007-07-27' S'511.89' tp807 a(S'2007-07-30' S'516.11' tp808 a(S'2007-07-31' S'510.00' tp809 a(S'2007-08-01' S'512.94' tp810 a(S'2007-08-02' S'511.01' tp811 a(S'2007-08-03' S'503.00' tp812 a(S'2007-08-06' S'510.00' tp813 a(S'2007-08-07' S'516.02' tp814 a(S'2007-08-08' p815 S'525.78' tp816 a(S'2007-08-09' S'514.73' tp817 a(S'2007-08-10' S'515.75' tp818 a(S'2007-08-13' S'515.50' tp819 a(S'2007-08-14' S'508.60' tp820 a(S'2007-08-15' p821 S'497.55' tp822 a(S'2007-08-16' S'491.52' tp823 a(S'2007-08-17' S'500.04' tp824 a(S'2007-08-20' S'497.92' tp825 a(S'2007-08-21' S'506.61' tp826 a(S'2007-08-22' S'512.75' tp827 a(S'2007-08-23' S'512.19' tp828 a(S'2007-08-24' p829 S'515.00' tp830 a(S'2007-08-27' S'513.26' tp831 a(S'2007-08-28' S'506.40' tp832 a(S'2007-08-29' S'512.88' tp833 a(S'2007-08-30' S'511.40' tp834 a(S'2007-08-31' S'515.25' tp835 a(S'2007-09-04' S'525.15' tp836 a(S'2007-09-05' S'527.80' tp837 a(S'2007-09-06' S'523.52' tp838 a(S'2007-09-07' S'519.35' tp839 a(S'2007-09-10' S'514.48' tp840 a(S'2007-09-11' S'521.33' tp841 a(S'2007-09-12' S'522.65' tp842 a(S'2007-09-13' S'524.78' tp843 a(S'2007-09-14' S'528.75' tp844 a(S'2007-09-17' S'525.30' tp845 a(S'2007-09-18' S'535.27' tp846 a(S'2007-09-19' S'546.85' tp847 a(S'2007-09-20' S'552.83' tp848 a(S'2007-09-21' S'560.10' tp849 a(S'2007-09-24' S'568.02' tp850 a(S'2007-09-25' S'569.00' tp851 a(S'2007-09-26' S'568.16' tp852 a(S'2007-09-27' S'567.50' tp853 a(S'2007-09-28' S'567.27' tp854 a(S'2007-10-01' S'582.55' tp855 a(S'2007-10-02' S'584.39' tp856 a(S'2007-10-03' S'584.02' tp857 a(S'2007-10-04' S'579.03' tp858 a(S'2007-10-05' S'594.05' tp859 a(S'2007-10-08' S'609.62' tp860 a(S'2007-10-09' S'615.18' tp861 a(S'2007-10-10' S'625.39' tp862 a(S'2007-10-11' S'622.00' tp863 a(S'2007-10-12' S'637.39' tp864 a(S'2007-10-15' S'620.11' tp865 a(S'2007-10-16' S'616.00' tp866 a(S'2007-10-17' S'633.48' tp867 a(S'2007-10-18' S'639.62' tp868 a(S'2007-10-19' S'644.71' tp869 a(S'2007-10-22' S'650.75' tp870 a(S'2007-10-23' S'675.77' tp871 a(S'2007-10-24' S'675.82' tp872 a(S'2007-10-25' S'668.51' tp873 a(S'2007-10-26' S'674.60' tp874 a(S'2007-10-29' S'679.23' tp875 a(S'2007-10-30' S'694.77' tp876 a(S'2007-10-31' S'707.00' tp877 a(S'2007-11-01' S'703.21' tp878 a(S'2007-11-02' S'711.25' tp879 a(S'2007-11-05' S'725.65' tp880 a(S'2007-11-06' S'741.79' tp881 a(S'2007-11-07' S'732.94' tp882 a(S'2007-11-08' S'693.84' tp883 a(S'2007-11-09' S'663.97' tp884 a(S'2007-11-12' p885 S'632.07' tp886 a(S'2007-11-13' S'660.55' tp887 a(S'2007-11-14' S'641.68' tp888 a(S'2007-11-15' S'629.65' tp889 a(S'2007-11-16' S'633.63' tp890 a(S'2007-11-19' S'625.85' tp891 a(S'2007-11-20' S'648.54' tp892 a(S'2007-11-21' S'660.52' tp893 a(S'2007-11-23' p894 S'676.70' tp895 a(S'2007-11-26' S'666.00' tp896 a(S'2007-11-27' S'673.57' tp897 a(S'2007-11-28' S'692.26' tp898 a(S'2007-11-29' S'697.00' tp899 a(S'2007-11-30' S'693.00' tp900 a(S'2007-12-03' S'681.53' tp901 a(S'2007-12-04' S'684.16' tp902 a(S'2007-12-05' S'698.51' tp903 a(S'2007-12-06' S'715.26' tp904 a(S'2007-12-07' S'714.87' tp905 a(S'2007-12-10' S'718.42' tp906 a(S'2007-12-11' S'699.20' tp907 a(S'2007-12-12' S'699.35' tp908 a(S'2007-12-13' S'694.05' tp909 a(S'2007-12-14' S'689.96' tp910 a(S'2007-12-17' p911 S'669.23' tp912 a(S'2007-12-18' S'673.35' tp913 a(S'2007-12-19' S'677.37' tp914 a(S'2007-12-20' S'689.69' tp915 a(S'2007-12-21' S'696.69' tp916 a(S'2007-12-24' S'700.73' tp917 a(S'2007-12-26' p918 S'710.84' tp919 a(S'2007-12-27' S'700.74' tp920 a(S'2007-12-28' S'702.53' tp921 a(S'2007-12-31' S'691.48' tp922 a(S'2008-01-02' S'685.19' tp923 a(S'2008-01-03' S'685.33' tp924 a(S'2008-01-04' p925 S'657.00' tp926 a(S'2008-01-07' S'649.25' tp927 a(S'2008-01-08' S'631.68' tp928 a(S'2008-01-09' S'653.20' tp929 a(S'2008-01-10' S'646.73' tp930 a(S'2008-01-11' S'638.25' tp931 a(S'2008-01-14' S'653.82' tp932 a(S'2008-01-15' S'637.65' tp933 a(S'2008-01-16' S'615.95' tp934 a(S'2008-01-17' S'600.79' tp935 a(S'2008-01-18' S'600.25' tp936 a(S'2008-01-22' S'584.35' tp937 a(S'2008-01-23' S'548.62' tp938 a(S'2008-01-24' S'574.49' tp939 a(S'2008-01-25' S'566.40' tp940 a(S'2008-01-28' S'555.98' tp941 a(S'2008-01-29' S'550.52' tp942 a(S'2008-01-30' S'548.27' tp943 a(S'2008-01-31' S'564.30' tp944 a(S'2008-02-01' S'515.90' tp945 a(S'2008-02-04' S'495.43' tp946 a(S'2008-02-05' S'506.80' tp947 a(S'2008-02-06' p948 S'501.71' tp949 as. tp980 a(S'2003-10-14' S'29.10' tp981 a(S'2003-10-15' S'29.73' tp982 a(S'2003-10-16' S'30.17' tp983 a(S'2003-10-17' S'29.64' tp984 a(S'2003-10-20' S'30.11' tp985 a(S'2003-10-21' S'30.07' tp986 a(S'2003-10-22' S'29.51' tp987 a(S'2003-10-23' S'29.23' tp988 a(S'2003-10-24' S'29.10' tp989 a(S'2003-10-27' S'29.42' tp990 a(S'2003-10-28' S'30.59' tp991 a(S'2003-10-29' S'30.71' tp992 a(S'2003-10-30' S'30.79' tp993 a(S'2003-10-31' S'30.85' tp994 a(S'2003-11-03' S'31.87' tp995 a(S'2003-11-04' S'31.53' tp996 a(S'2003-11-05' S'31.61' tp997 a(S'2003-11-06' S'31.96' tp998 a(S'2003-11-07' S'31.73' tp999 a(S'2003-11-10' S'31.28' tp1000 a(S'2003-11-11' S'31.30' tp1001 a(S'2003-11-12' S'31.94' tp1002 a(S'2003-11-13' S'31.64' tp1003 a(S'2003-11-14' S'30.73' tp1004 a(S'2003-11-17' p1005 S'30.19' tp1006 a(S'2003-11-18' S'29.83' tp1007 a(S'2003-11-19' S'30.46' tp1008 a(S'2003-11-20' S'29.82' tp1009 a(S'2003-11-21' S'30.28' tp1010 a(S'2003-11-24' S'31.34' tp1011 a(S'2003-11-25' S'30.98' tp1012 a(S'2003-11-26' S'31.24' tp1013 a(S'2003-11-28' p1014 S'31.42' tp1015 a(S'2003-12-01' S'31.89' tp1016 a(S'2003-12-02' S'31.71' tp1017 a(S'2003-12-03' S'31.23' tp1018 a(S'2003-12-04' S'31.42' tp1019 a(S'2003-12-05' S'30.07' tp1020 a(S'2003-12-08' p1021 S'29.64' tp1022 a(S'2003-12-09' S'28.34' tp1023 a(S'2003-12-10' S'28.50' tp1024 a(S'2003-12-11' S'28.96' tp1025 a(S'2003-12-12' S'28.91' tp1026 a(S'2003-12-15' S'28.33' tp1027 a(S'2003-12-16' S'28.35' tp1028 a(S'2003-12-17' S'28.26' tp1029 a(S'2003-12-18' S'28.95' tp1030 a(S'2003-12-19' S'28.64' tp1031 a(S'2003-12-22' S'28.50' tp1032 a(S'2003-12-23' S'29.14' tp1033 a(S'2003-12-24' S'29.11' tp1034 a(S'2003-12-26' S'29.38' tp1035 a(S'2003-12-29' p1036 S'30.12' tp1037 a(S'2003-12-30' S'30.01' tp1038 a(S'2003-12-31' S'30.02' tp1039 a(S'2004-01-02' S'30.13' tp1040 a(S'2004-01-05' S'30.83' tp1041 a(S'2004-01-06' S'30.82' tp1042 a(S'2004-01-07' S'31.84' tp1043 a(S'2004-01-08' S'32.08' tp1044 a(S'2004-01-09' S'31.82' tp1045 a(S'2004-01-12' S'31.99' tp1046 a(S'2004-01-13' S'31.47' tp1047 a(S'2004-01-14' S'31.28' tp1048 a(S'2004-01-15' S'30.97' tp1049 a(S'2004-01-16' S'30.81' tp1050 a(S'2004-01-20' p1051 S'30.55' tp1052 a(S'2004-01-21' S'30.16' tp1053 a(S'2004-01-22' S'29.63' tp1054 a(S'2004-01-23' S'29.74' tp1055 a(S'2004-01-26' S'30.38' tp1056 a(S'2004-01-27' S'29.63' tp1057 a(S'2004-01-28' S'29.40' tp1058 a(S'2004-01-29' S'28.94' tp1059 a(S'2004-01-30' S'28.59' tp1060 a(S'2004-02-02' S'28.40' tp1061 a(S'2004-02-03' S'29.41' tp1062 a(S'2004-02-04' S'28.16' tp1063 a(S'2004-02-05' S'28.06' tp1064 a(S'2004-02-06' S'28.96' tp1065 a(S'2004-02-09' S'28.67' tp1066 a(S'2004-02-10' S'28.65' tp1067 a(S'2004-02-11' S'29.07' tp1068 a(S'2004-02-12' S'28.83' tp1069 a(S'2004-02-13' S'28.27' tp1070 a(S'2004-02-17' S'28.90' tp1071 a(S'2004-02-18' S'28.70' tp1072 a(S'2004-02-19' S'28.04' tp1073 a(S'2004-02-20' S'28.14' tp1074 a(S'2004-02-23' S'27.20' tp1075 a(S'2004-02-24' S'27.39' tp1076 a(S'2004-02-25' S'27.78' tp1077 a(S'2004-02-26' S'27.67' tp1078 a(S'2004-02-27' S'27.39' tp1079 a(S'2004-03-01' S'27.85' tp1080 a(S'2004-03-02' S'27.76' tp1081 a(S'2004-03-03' S'27.24' tp1082 a(S'2004-03-04' S'27.81' tp1083 a(S'2004-03-05' S'27.15' tp1084 a(S'2004-03-08' S'25.98' tp1085 a(S'2004-03-09' S'26.24' tp1086 a(S'2004-03-10' S'25.62' tp1087 a(S'2004-03-11' S'25.40' tp1088 a(S'2004-03-12' S'25.97' tp1089 a(S'2004-03-15' S'25.42' tp1090 a(S'2004-03-16' S'25.48' tp1091 a(S'2004-03-17' S'26.07' tp1092 a(S'2004-03-18' S'25.51' tp1093 a(S'2004-03-19' S'24.85' tp1094 a(S'2004-03-22' S'24.60' tp1095 a(S'2004-03-23' S'24.54' tp1096 a(S'2004-03-24' S'24.88' tp1097 a(S'2004-03-25' S'26.07' tp1098 a(S'2004-03-26' S'25.68' tp1099 a(S'2004-03-29' S'25.97' tp1100 a(S'2004-03-30' S'25.73' tp1101 a(S'2004-03-31' p1102 S'25.51' tp1103 a(S'2004-04-01' S'25.68' tp1104 a(S'2004-04-02' S'26.38' tp1105 a(S'2004-04-05' S'26.78' tp1106 a(S'2004-04-06' S'26.52' tp1107 a(S'2004-04-07' S'25.91' tp1108 a(S'2004-04-08' S'25.67' tp1109 a(S'2004-04-12' S'25.89' tp1110 a(S'2004-04-13' S'25.95' tp1111 a(S'2004-04-14' S'25.67' tp1112 a(S'2004-04-15' p1113 S'25.01' tp1114 a(S'2004-04-16' S'24.81' tp1115 a(S'2004-04-19' S'25.03' tp1116 a(S'2004-04-20' S'24.45' tp1117 a(S'2004-04-21' S'24.65' tp1118 a(S'2004-04-22' S'24.87' tp1119 a(S'2004-04-23' S'25.82' tp1120 a(S'2004-04-26' S'25.47' tp1121 a(S'2004-04-27' S'25.21' tp1122 a(S'2004-04-28' S'24.72' tp1123 a(S'2004-04-29' S'24.51' tp1124 a(S'2004-04-30' S'24.13' tp1125 a(S'2004-05-03' S'24.42' tp1126 a(S'2004-05-04' S'24.65' tp1127 a(S'2004-05-05' S'24.61' tp1128 a(S'2004-05-06' S'24.41' tp1129 a(S'2004-05-07' S'24.87' tp1130 a(S'2004-05-10' S'24.94' tp1131 a(S'2004-05-11' p1132 S'26.09' tp1133 a(S'2004-05-12' S'25.90' tp1134 a(S'2004-05-13' S'25.78' tp1135 a(S'2004-05-14' S'25.40' tp1136 a(S'2004-05-17' S'25.21' tp1137 a(S'2004-05-18' S'25.50' tp1138 a(S'2004-05-19' S'25.47' tp1139 a(S'2004-05-20' S'25.75' tp1140 a(S'2004-05-21' S'25.88' tp1141 a(S'2004-05-24' S'26.06' tp1142 a(S'2004-05-25' S'26.40' tp1143 a(S'2004-05-26' S'26.65' tp1144 a(S'2004-05-27' S'26.73' tp1145 a(S'2004-05-28' S'26.82' tp1146 a(S'2004-06-01' S'26.61' tp1147 a(S'2004-06-02' S'26.31' tp1148 a(S'2004-06-03' S'25.75' tp1149 a(S'2004-06-04' S'26.43' tp1150 a(S'2004-06-07' S'27.01' tp1151 a(S'2004-06-08' S'27.23' tp1152 a(S'2004-06-09' S'26.68' tp1153 a(S'2004-06-10' S'26.90' tp1154 a(S'2004-06-14' S'26.29' tp1155 a(S'2004-06-15' S'26.71' tp1156 a(S'2004-06-16' S'26.42' tp1157 a(S'2004-06-17' S'25.96' tp1158 a(S'2004-06-18' S'25.96' tp1159 a(S'2004-06-21' p1160 S'25.85' tp1161 a(S'2004-06-22' S'26.34' tp1162 a(S'2004-06-23' S'26.79' tp1163 a(S'2004-06-24' S'26.26' tp1164 a(S'2004-06-25' S'26.10' tp1165 a(S'2004-06-28' S'25.72' tp1166 a(S'2004-06-29' S'25.93' tp1167 a(S'2004-06-30' S'25.93' tp1168 a(S'2004-07-01' S'25.38' tp1169 a(S'2004-07-02' S'24.73' tp1170 a(S'2004-07-06' S'24.53' tp1171 a(S'2004-07-07' S'24.74' tp1172 a(S'2004-07-08' S'24.63' tp1173 a(S'2004-07-09' S'24.96' tp1174 a(S'2004-07-12' S'24.65' tp1175 a(S'2004-07-13' S'24.56' tp1176 a(S'2004-07-14' S'21.96' tp1177 a(S'2004-07-15' S'21.75' tp1178 a(S'2004-07-16' S'21.35' tp1179 a(S'2004-07-19' S'21.52' tp1180 a(S'2004-07-20' S'21.83' tp1181 a(S'2004-07-21' S'21.19' tp1182 a(S'2004-07-22' S'21.86' tp1183 a(S'2004-07-23' S'21.30' tp1184 a(S'2004-07-26' S'21.58' tp1185 a(S'2004-07-27' S'21.86' tp1186 a(S'2004-07-28' S'22.04' tp1187 a(S'2004-07-29' p1188 S'22.77' tp1189 a(S'2004-07-30' S'22.90' tp1190 a(S'2004-08-02' S'23.39' tp1191 a(S'2004-08-03' S'22.71' tp1192 a(S'2004-08-04' S'22.55' tp1193 a(S'2004-08-05' S'22.27' tp1194 a(S'2004-08-06' S'21.43' tp1195 a(S'2004-08-09' S'21.24' tp1196 a(S'2004-08-10' p1197 S'21.21' tp1198 a(S'2004-08-11' S'20.85' tp1199 a(S'2004-08-12' S'19.99' tp1200 a(S'2004-08-13' S'20.29' tp1201 a(S'2004-08-16' S'20.16' tp1202 a(S'2004-08-17' S'20.24' tp1203 a(S'2004-08-18' S'20.91' tp1204 a(S'2004-08-19' S'20.71' tp1205 a(S'2004-08-20' S'20.34' tp1206 a(S'2004-08-23' S'20.60' tp1207 a(S'2004-08-24' S'20.39' tp1208 a(S'2004-08-25' S'20.65' tp1209 a(S'2004-08-26' S'20.48' tp1210 a(S'2004-08-27' S'20.72' tp1211 a(S'2004-08-30' S'20.32' tp1212 a(S'2004-08-31' S'20.03' tp1213 a(S'2004-09-01' S'20.16' tp1214 a(S'2004-09-02' S'20.35' tp1215 a(S'2004-09-03' S'18.87' tp1216 a(S'2004-09-07' S'18.72' tp1217 a(S'2004-09-08' S'18.56' tp1218 a(S'2004-09-09' S'18.98' tp1219 a(S'2004-09-10' S'19.36' tp1220 a(S'2004-09-13' S'19.57' tp1221 a(S'2004-09-14' S'19.54' tp1222 a(S'2004-09-15' S'19.21' tp1223 a(S'2004-09-16' S'18.92' tp1224 a(S'2004-09-17' S'19.37' tp1225 a(S'2004-09-20' S'19.68' tp1226 a(S'2004-09-21' S'19.84' tp1227 a(S'2004-09-22' S'19.21' tp1228 a(S'2004-09-23' S'19.18' tp1229 a(S'2004-09-24' S'18.94' tp1230 a(S'2004-09-27' S'18.74' tp1231 a(S'2004-09-28' S'18.52' tp1232 a(S'2004-09-29' S'18.88' tp1233 a(S'2004-09-30' S'18.88' tp1234 a(S'2004-10-01' S'19.62' tp1235 a(S'2004-10-04' S'19.88' tp1236 a(S'2004-10-05' p1237 S'20.06' tp1238 a(S'2004-10-06' S'19.88' tp1239 a(S'2004-10-07' S'19.99' tp1240 a(S'2004-10-08' S'19.34' tp1241 a(S'2004-10-11' S'19.39' tp1242 a(S'2004-10-12' S'19.08' tp1243 a(S'2004-10-13' S'19.75' tp1244 a(S'2004-10-14' S'19.30' tp1245 a(S'2004-10-15' S'19.39' tp1246 a(S'2004-10-18' S'19.56' tp1247 a(S'2004-10-19' S'19.57' tp1248 a(S'2004-10-20' S'20.18' tp1249 a(S'2004-10-21' S'20.41' tp1250 a(S'2004-10-22' S'20.04' tp1251 a(S'2004-10-25' S'20.05' tp1252 a(S'2004-10-26' S'20.14' tp1253 a(S'2004-10-27' S'20.70' tp1254 a(S'2004-10-28' S'20.96' tp1255 a(S'2004-10-29' S'20.95' tp1256 a(S'2004-11-01' S'21.12' tp1257 a(S'2004-11-02' S'21.28' tp1258 a(S'2004-11-03' S'21.37' tp1259 a(S'2004-11-04' S'21.57' tp1260 a(S'2004-11-05' S'22.02' tp1261 a(S'2004-11-08' S'21.90' tp1262 a(S'2004-11-09' S'21.76' tp1263 a(S'2004-11-10' S'21.55' tp1264 a(S'2004-11-11' S'21.84' tp1265 a(S'2004-11-12' S'22.33' tp1266 a(S'2004-11-15' S'22.41' tp1267 a(S'2004-11-16' S'22.47' tp1268 a(S'2004-11-17' S'22.92' tp1269 a(S'2004-11-18' S'23.38' tp1270 a(S'2004-11-19' S'22.77' tp1271 a(S'2004-11-22' S'22.72' tp1272 a(S'2004-11-23' S'22.03' tp1273 a(S'2004-11-24' S'22.26' tp1274 a(S'2004-11-26' S'21.88' tp1275 a(S'2004-11-29' p1276 S'21.74' tp1277 a(S'2004-11-30' S'21.10' tp1278 a(S'2004-12-01' S'21.77' tp1279 a(S'2004-12-02' S'21.41' tp1280 a(S'2004-12-03' S'22.54' tp1281 a(S'2004-12-06' S'22.63' tp1282 a(S'2004-12-07' S'22.13' tp1283 a(S'2004-12-08' S'21.69' tp1284 a(S'2004-12-09' S'21.45' tp1285 a(S'2004-12-10' S'21.27' tp1286 a(S'2004-12-13' S'21.33' tp1287 a(S'2004-12-14' S'21.91' tp1288 a(S'2004-12-15' S'21.81' tp1289 a(S'2004-12-16' S'21.56' tp1290 a(S'2004-12-17' S'21.46' tp1291 a(S'2004-12-20' S'21.40' tp1292 a(S'2004-12-21' S'22.14' tp1293 a(S'2004-12-22' S'22.10' tp1294 a(S'2004-12-23' S'22.19' tp1295 a(S'2004-12-27' S'22.03' tp1296 a(S'2004-12-28' S'21.94' tp1297 a(S'2004-12-29' S'21.92' tp1298 a(S'2004-12-30' S'21.92' tp1299 a(S'2004-12-31' S'22.05' tp1300 a(S'2005-01-03' S'21.75' tp1301 a(S'2005-01-04' S'21.31' tp1302 a(S'2005-01-05' S'21.11' tp1303 a(S'2005-01-06' S'21.17' tp1304 a(S'2005-01-07' S'21.49' tp1305 a(S'2005-01-10' S'21.57' tp1306 a(S'2005-01-11' S'21.25' tp1307 a(S'2005-01-12' S'21.83' tp1308 a(S'2005-01-13' S'21.51' tp1309 a(S'2005-01-14' S'21.70' tp1310 a(S'2005-01-18' S'21.62' tp1311 a(S'2005-01-19' S'21.30' tp1312 a(S'2005-01-20' S'21.28' tp1313 a(S'2005-01-21' S'21.13' tp1314 a(S'2005-01-24' S'20.73' tp1315 a(S'2005-01-25' S'20.98' tp1316 a(S'2005-01-26' S'21.13' tp1317 a(S'2005-01-27' S'21.03' tp1318 a(S'2005-01-28' S'20.96' tp1319 a(S'2005-01-31' S'21.16' tp1320 a(S'2005-02-01' S'21.33' tp1321 a(S'2005-02-02' S'21.28' tp1322 a(S'2005-02-03' S'21.17' tp1323 a(S'2005-02-04' S'21.76' tp1324 a(S'2005-02-07' S'21.67' tp1325 a(S'2005-02-08' p1326 S'22.15' tp1327 a(S'2005-02-09' S'22.04' tp1328 a(S'2005-02-10' S'22.23' tp1329 a(S'2005-02-11' S'22.86' tp1330 a(S'2005-02-14' S'23.00' tp1331 a(S'2005-02-15' S'23.15' tp1332 a(S'2005-02-16' S'22.84' tp1333 a(S'2005-02-17' S'22.35' tp1334 a(S'2005-02-18' S'22.72' tp1335 a(S'2005-02-22' S'22.48' tp1336 a(S'2005-02-23' S'22.05' tp1337 a(S'2005-02-24' S'22.42' tp1338 a(S'2005-02-25' S'22.79' tp1339 a(S'2005-02-28' S'22.69' tp1340 a(S'2005-03-01' S'23.29' tp1341 a(S'2005-03-02' S'23.20' tp1342 a(S'2005-03-03' S'23.18' tp1343 a(S'2005-03-04' S'23.35' tp1344 a(S'2005-03-07' S'23.75' tp1345 a(S'2005-03-08' S'23.46' tp1346 a(S'2005-03-09' S'23.50' tp1347 a(S'2005-03-10' S'23.51' tp1348 a(S'2005-03-11' S'22.89' tp1349 a(S'2005-03-14' S'22.96' tp1350 a(S'2005-03-15' S'22.59' tp1351 a(S'2005-03-16' p1352 S'22.27' tp1353 a(S'2005-03-17' S'22.15' tp1354 a(S'2005-03-18' S'22.15' tp1355 a(S'2005-03-21' S'22.23' tp1356 a(S'2005-03-22' S'21.78' tp1357 a(S'2005-03-23' S'22.13' tp1358 a(S'2005-03-24' S'21.93' tp1359 a(S'2005-03-28' S'22.04' tp1360 a(S'2005-03-29' S'21.90' tp1361 a(S'2005-03-30' S'22.22' tp1362 a(S'2005-03-31' S'21.98' tp1363 a(S'2005-04-01' S'21.77' tp1364 a(S'2005-04-04' S'21.69' tp1365 a(S'2005-04-05' S'21.88' tp1366 a(S'2005-04-06' S'21.80' tp1367 a(S'2005-04-07' S'22.15' tp1368 a(S'2005-04-08' S'22.03' tp1369 a(S'2005-04-11' S'21.87' tp1370 a(S'2005-04-12' S'21.97' tp1371 a(S'2005-04-13' S'21.59' tp1372 a(S'2005-04-14' S'21.27' tp1373 a(S'2005-04-15' S'20.92' tp1374 a(S'2005-04-18' S'21.01' tp1375 a(S'2005-04-19' S'21.41' tp1376 a(S'2005-04-20' S'21.44' tp1377 a(S'2005-04-21' S'22.10' tp1378 a(S'2005-04-22' S'21.98' tp1379 a(S'2005-04-25' S'22.15' tp1380 a(S'2005-04-26' p1381 S'22.06' tp1382 a(S'2005-04-27' S'22.24' tp1383 a(S'2005-04-28' S'21.94' tp1384 a(S'2005-04-29' S'22.25' tp1385 a(S'2005-05-02' S'22.28' tp1386 a(S'2005-05-03' S'22.54' tp1387 a(S'2005-05-04' S'22.8