金融数量分析第4章 MATLAB与数据库的数据交互_第1页
金融数量分析第4章 MATLAB与数据库的数据交互_第2页
金融数量分析第4章 MATLAB与数据库的数据交互_第3页
金融数量分析第4章 MATLAB与数据库的数据交互_第4页
金融数量分析第4章 MATLAB与数据库的数据交互_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章MATLAB与数据库的数据交互4.1案例背景随着计算机数据库技术的应用与发展,科学研究与生产生活中的大量数据都按一定的规则方式存储在数据库中,例如:个人的各种账户(包括银行账户、证券账户、手机账户、论坛账户等)及账户涉及的各种信息都存储在数据库中。若能将大量数据导入MATLAB中,利用MATLAB优异的数值技术与图形展示技术,更好地处理或分析科学研究与生产生活的数据,进行实证性研究或者潜在规则的挖掘。数据的获取方式除了从数据库之间获取外,还可以通过网络获取所需数据。而且,目前网络已经成为数据重要的来源之一,MATLAB可以一次性按格式从网络中读取大量数据。4.2

MATLAB实现4.2.1

Database工具箱简介Mathworks公司为MATLAB与数据库连接提供了有效接口——Database工具箱。Database工具箱帮助用户使用MATLAB的可视化技术与数据分析技术处理数据库中的信息。在MATLAB的工作环境下,用户可以使用SQL(StructuredQueryLanguage)标准数据查询语言从数据库读取数据或将数据写入数据库。目前,MATLAB可以支持与主要厂商的数据库产品进行连接,例如Oracle、Sybase、MicrosoftSQLServer和Informix等数据库。MATLAB的Database工具箱还自带了VisualQueryBuilder交互式界面方便用户使用数据。4.2.2

Database工具函数Database工具箱函数,具体分为数据库访问数据、数据库游标访问函数、数据库元数据访问函数。函数具体功能如表1~表3所列。表1数据库访问函数表2数据库游标访问函数表3数据库元数据函数4.2.3

数据库数据读取数据库数据读取主要由数据库连接,获取数据库信息,执行SQL查询语言查询数据,关闭数据连接等几个主要步骤组成。在进行MATLAB与数据库的交互前首先要对数据源进行配置。

(1)数据库连接函数databasedatabase函数语法:conn=database(‘datasourcename’,‘username’,‘password’)输入参数:datasourcename:数据库名称(连接对象的名称,如果不是本地数据,需输入网址或者IP地址及端口);username:数据库用户名;password:数据库密码。输出参数:conn:建立数据连接对象(内含连接信息、参数)。(2)获取数据库连接信息函数pingping函数语法:ping(conn)通过ping函数可以获得数据库连接的数据版本、数据名称、驱动程序、URL地址等。输入参数:conn:数据库连接对象。输出参数:DatabaseProductName:数据库产品名称;DatabaseProductVersion:数据库产品版本;JDBCDriverName:JDBC驱动名称;JDBCDriverVersion:JDBC驱动版本;MaxDatabaseConnections:数据库最大连接数量;CurrentUserName:使用的数据库名称;DatabaseURL:数据库URL地址;AutoCommitTransactions:是否连接。(3)执行SQL语句和打开游标函数execexec函数语法:curs=exec(conn,‘sqlquery’)输入参数:conn:数据库连接对象;sqlquery:SQL数据库查询语句。输出参数:curs:结构体(游标)。(4)导入数据到MATLAB单元数组函数fetchfetch函数语法:curs=fetch(curs)输入参数:curs:exec执行后获得的结果(游标)。输出参数:curs:经fetch处理后的数据结果。(5)关闭数据库连接closeClose函数语法:close(curs):关闭查询游标;close(conn):关闭数据连接。4.2.4

数据库数据写入与数据的读取一样,数据库数据写入主要由数据库连接、获取数据库信息、执行SQL查询语言写入数据几个主要步骤组成。(1)将数据插入数据库函数fastinsertfastinsert函数语法:fastinsert(conn,‘tablename’,colnames,exdata)输入参数:conn:数据库连接对象;tablename:数据写入的目标表名称(数据表需在数据库中建立完成);colnames:数据写入的列名称;exdata:写入数据。(2)插入多行数据4.3网络数据读取随着科技的发展,可以得到的数据越来越多,网络已经成为数据的重要来源之一,MATLAB可以一次性按格式从网络中读取大量数据。以MATLAB读取Yahoo财经数据与Google财经数据为例进行实例讲解。4.3.1

Yahoo数据MyYahoo函数是网络开源的MATLAB检索Yahoo财经数据的函数,函数主要使用urlread函数读取网页数据。由于涉及比较复杂的字符串处理,这里不具体讲解函数的技术细节,主要介绍其使用方法。MyYahoo函数语法:[stock_Price]=MyYahoo(StockName,StartDate,EndDate,Freq)

输入参数:StockName:证券代码,主要参考yahoo的证券代码形式。

Yahoo采用的证券编码形式为“证券代码.交易所”。

例如:武钢股份(600005)的Yahoo代码为600005.SS;深发展(000001)的yahoo代码为000001.SZ;

IBMIBM的Yahoo代码为IBM(纽约交易所)IBM.F(法兰克福交易所)。StartDate:开始时间。EndDate:截止时间。Freq:数据频率。‘d’表示日、‘w’表示周、‘m’表示月。输出参数:stock_Price:证券数据。4.3.2

Google数据googleprices函数是网络开源的MATLAB检索Google财经数据的函数,函数主要使用urlwrite函数读取网页数据。由于涉及比较复杂的字符串处理,这里不具体讲解函数的技术细节,主要介绍其使用方法。googleprices函数语法:ds=googleprices(stockTicker,startDate,endDate)输入参数:stockTicker:证券代码,主要参考Google的证券代码形式。Google采用的证券编码形式为“交易所:证券代码”。例如:武钢股份(600005)的Google

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论