个人股票管理系统.docx
《个人股票管理系统.docx》由会员分享,可在线阅读,更多相关《个人股票管理系统.docx(50页珍藏版)》请在冰点文库上搜索。
个人股票管理系统
前言
随着计算机科学技术的突飞猛进,此种方法存在的工作量大、准确率低、管理难度大、使用不方便等问题越来越严重地暴露出来。
作为计算机应用的一局部,使用计算机对个人的股票信息进行管理,有着手工管理所无法比较的优点.特别是现在大家都比较喜欢在Windows操作平台上工作,落后的数据库管理方式已经很难适应大家的需求。
随着数据库开发工具的不断革新,VisualBasic6.0以其强大的功能逐步替代了落后的数据库管理方式。
VisualBasic6.0无论是组织信息、运行查询、创立集成的关系型数据库系统,还是为最终用户编写功能全面的数据管理应用程序,VisualBasic6.0都可以提供管理数据所需的工具,可以在应用程序或数据库开发的任何一个领域中提供帮助。
现如今,应用VisualBasic软件编写的财务管理系统,生产方案管理系统,人事管理系统等等的软件很多。
但是真正完全适用于个人股票管理方面的软件到现在依然没有解决。
因此,基于以上原因,为了提高个人股票管理、降低个人工作量,我编写了适应于个人股票管理系统软件。
本个人的股票管理系统主要用于实现个人的资金追加,赢利和亏损以及个人买入和卖出股票等。
对个人的股票信息量进行统计,方便个人用户的管理,还可以打印资金单、买入和卖出的名称、数量买入价、卖出价,购置时间以及买出时间等。
§1章收支管理系统
1.1股票管理系统的开展历史
从1990年12月19日上海证券交易所正式挂牌营业算起,我国证券市场从无到有,从小到大,已历经了10余年的开展。
中国证券市场的开展和完善可以分为三个阶段:
“奠基阶段〞、“市场化阶段〞和“国际化阶段〞,在中国证券市场开展的第一个10年里,我们已经根本完成了“奠基阶段〞。
在这个阶段,我们以渐进式改革的方式,在中国高度集中的传统方案经济体系上构建了一个初具规模的证券市场,并为将来的市场化、国际化打下了根底。
但在整个“奠基阶段〞里,由于我们采用的一些方法手段带有明显的方案经济痕迹,从而直接导致我国证券市场现行的制度架构中带有较为浓厚的非市场特征,这与我国证券市场直接脱胎于高度集中的方案经济体制有关。
但是,从长远开展来看,为了使我国的证券市场更好地符合市场经济和证券市场的内在规律,提高中国证券市场迎接国际化挑战的能力,我们需要在“奠基阶段〞之后的“市场化阶段〞中通过一系列的理念创新、制度创新和工具创新,大力推进中国证券市场的市场化水平,以消除过去形成的种种非市场化色彩,这一阶段大约要持续5年左右时间。
只有在根本完成市场化进程之后,我们的证券市场将步入一条更为健康的开展道路,从而才能更好地进入“国际化阶段〞。
在这一阶段,我们证券市场将与国际资本市场充分接轨。
只有完成了这一国际化进程之后,我们的证券市场才真正与世界市场融为一体,成为国际资本市场的有机组成局部。
现在,伴随中国参加WTO组织法律程序的根本完成,我国证券市场的开放进程将大大提前,这意味着我国证券市场的国际化进程将在市场化尚未完成的情况之下开始,这对我们而言意味着巨大的挑战。
1.2股票管理系统的作用
在当今的信息社会里,人门和股票越来越分不开了。
而对股票信息的采集,和对资金管理工作更是我们每天自觉或不自觉地进行着的大量烦琐工作。
股票管理系统那么是一个个人不可缺少的局部,为了提高个人股票管理系统工作的准确度,降低劳动强度,减少人为手写错误,提高工作效率,根据单位实际工作需求,在调研了多位长期从事会计工作的老师傅以后,我使用VisualBasic6.0开发工具编写了这套可进行资金追加,资金修改〔赢利及亏损〕,股票买入,股票买出,以及打印清单护等各功能的个人股票管理系统软件。
以到达提高个人股票管理效率的目的。
§2个人收支管理系统分析与设计
2.1个人股票管理系统功能需求简介
?
个人股票管理?
是一套功能完善的股票管理软件,可帮助您方便地管理自己的股票帐户,其界面友好,操作简便,除具备根本的交易记录功能外,更提供多种统计功能,供您准确地把握自己的帐户情况,以便科学地制定操作策略.
1.支持多帐户:
适合于多人使用同一台计算机或一人拥有多个帐户。
每个帐户均可设置密码及独立的佣金收取标准。
2.支持子帐户:
适合于多人使用同一帐户。
每个子帐户均有独立的交易记录及帐户统计。
3.界面简洁:
采用Windows资源管理器与MicrosoftExcel相结合的界面风格,简洁、直观。
4.操作简便:
将股票交易及资金存取数据的录入统一在同一个操作界面中,并允许随时对任何一条交易记录进行修改、删除。
5.支持单边印花税:
可独立设置买入/卖出印花税率,从而可适应未来的单边印花税政策。
6.盈利计算:
提供股票盈利情况随股价变化的模拟计算功能。
2.2功能需求描述
通过对用户的需求分析,我们可分析出个人股票管理系统大致可分为四大模块:
个人资金的修改、股票的买入、股票的卖出,税率,打印报表。
以以下图说明五者的关系
〔1〕个人资金修改的模块
a、资金投入主要统计追加资金〔即为投入的总资金〕,赢利金额和亏损金额b、购置股票总金额,股票当前市场和资金帐户余额c、能修改,删除,保存所投入的资金、赢利和亏损金额。
〔2〕股票买入信息的模块
1、a:
买入主要功能是:
记录买入股票的代号、购置价、费用、本钱价、名称、当前价〔市场价〕、数量、购置时间、预测收益。
B:
卖出主要功能是:
记录卖出股票的代号、购置价、费用、本钱价、名称、卖出价、数量、购置时间、卖出时间,预测收益〔亏损或赢利计算其中已经扣掉了手续费和印花税率〕。
C:
修改主要功能是:
修改买入股票的购置价、费用、本钱价、名称、当前价、数量、购置时间。
D:
删除主要功能是:
删除所购置的股票〔主要是为了方便用户修改决定购置而没有购置的股票。
〕e:
保存主要是为了修改做后盾的修改完用户所要修改的股票资料后,用户需要保存自己所做的决定,就靠它了。
F:
费率这个费率和2的费率是一样的,主要方便用户随时更改手续费和印花税率。
G:
资金这个资金和1的资金是一样的,方便用户查询所剩金额,以便于购置股票。
另外还可以追加赢利和亏损金额。
H:
退出退出到主界面。
〔3〕股票卖出历史模块
这里详细统计了用户卖出股票的代号、购置价、费用、本钱价、名称、当前价、数量、购置时间、卖出时间以及收益。
〔4〕税率
主要是手续费和印花税率,能修改和确定取消。
〔5〕打印模块
为了方便用户对平时购置和卖出股票的管理,这里的打印为用户提供了资金、卖出记录,买入记录的打印。
方便了用户以后对前一段时间股票信息的回忆和总结。
〔6〕用户管理
a:
增加这里方便了多用户使用同意软件的功能。
能添加自己的用户名和有一个属于自己的密码。
B:
删除当感觉自己的用户不需要了的时候,用户可以把其删除了,减少冗余。
C:
保存这主要是给增加做效劳的,用户添加好自己的用户名和密码后,点击保存即可。
D:
撤消撤消上一次因为疏于考虑而做错的决定。
〔7〕关于作者
这里主要介绍了一下本软件是作者的毕业设计,关于作者的联系方式等。
2.3模块开发环境的简介
VisualBasic6.0简介
数据库技术产生于20世纪60年代末期。
数据库开发工具从早期的Bbase、FoxBASE开展到现在的VisualBasic6.0,经历了巨大的革新,特别是面向对象可视化语言的出现,以其友好的工作界面、可视化的编程技术,为广阔数据库开发人员提供了强有力的支持工具。
VisualBasic6.0采用当今最为流行的面向对象程序设计技术及可视化技术,以其卓越的数据库处理性能、良好的开发环境赢得了广阔用户的喜爱。
用户可以通过VisualBasic的开发环境方便地设计对数据库的结构、管理数据库,设计应用程序界面,设计查询、报表及菜单;利用工程管理器对数据库和程序进行管理,生成可执行文件,发布应用程序;等等。
VisualBasic是目前微机上最为流行的关系数据库管理系统,利用VisualBasic6.0开发程序之快、功能之强大,不觉使人产生相见恨晚的感觉。
2.3.2个人股票管理系统数据库设计
数据库
表名
数据类型
可否为空
Mail
文本
是
操作员
文本
否
费率
数字
否
个人购置记录
数字
是
股票卖出记录
数字
是
投入资金明细
数字
是
资金
数字
否
表2-1
Mail表
表名
数据类型
可否为空
ID
自动编号
是
Mail
文本
是
表2-2
操作员表
表名
数据类型
可否为空
姓名
文本
否
密码
文本
是
表2-3
费率表
表名
数据类型
可否为空
ID
自动编号
否
手续费
数字
否
印花税率
数字
否
表2-4
个人购置记录表
表名
数据类型
可否为空
ID
自动编号
否
代号
文本
否
名称
文本
否
买入价
数字
否
费用
数字
否
本钱价
数字
否
当前价
数字
否
收益
数字
否
数量
数字
否
购置时间
日期
否
表2-5
卖出历史记录表
表名
数据类型
可否为空
ID
自动编号
否
代号
文本
否
名称
文本
否
买入价
数字
否
费用
数字
否
本钱价
数字
否
卖出价
数字
否
收益
数字
否
数量
数字
否
购置时间
日期
否
卖出时间
时间
否
表2-6
投入资金明细表
表名
数据类型
可否为空
ID
自动编号
否
方式
文本
否
时间
时间
否
资金量
数字
否
表2-7
资金表
表名
数据类型
可否为空
资金投量
数字
否
购股金额
数字
是
股票市值
数字
否
资金寸量
数字
否
损益金额
数字
是
表2-8
〔1〕软件环境
本程序是在Windows操作平台上运行,利用VisualBasic6.0软件编写的应用程序。
(2)硬件环境
一台CPU为80486/66MHZ以上的IBM及兼容微型计算机,一个鼠标,16MB以上内存,VGA或更高档次的适配器。
§3章个人股票管理系统的具体功能实现
3.1登陆界面
此界面主要实现了用户登陆,需输入密码,确保了用户信息的平安性。
另外还可以修改密码,修改密码需要输入旧密码,然后输入新密码,确定即可生效。
默认用户名为:
admin;密码为:
admin。
如图3-1
图3-1
Ifchkmm.Value=1Then
zcform.Height=3550
xmmlb.Visible=True
qrmmlb.Visible=True
xmmtxt.Visible=True
qrmmtxt.Visible=True
CmdOK.Move240,2800
CmdNO.Move2760,2800
Else
xmmlb.Visible=False
qrmmlb.Visible=False
xmmtxt.Visible=False
qrmmtxt.Visible=False
CmdOK.Move240,1760
CmdNO.Move2760,1760
zcform.Height=2550
3.2使用界面
该界面是用户使用该软件的主要界面,能对资金进行修改,〔包括资金追加,赢利和亏损统计〕,费率修改〔包括手续费和印花税率〕,股票〔包括股票买入主要功能是:
A:
记录买入股票的代号、购置价、费用、本钱价、名称、当前价、数量、购置时间、预测收益。
B:
卖出主要功能是:
记录卖出股票的代号、购置价、费用、本钱价、名称、当前价、数量、购置时间、卖出时间,预测收益〔亏损或赢利计算其中已经扣掉了手续费和印花税率〕。
C:
修改主要功能是:
修改买入股票的购置价、费用、本钱价、名称、当前价、数量、购置时间。
D:
删除主要功能是:
删除所购置的股票〔主要是为了方便用户修改决定购置而没有购置的股票。
〕e:
保存主要是为了修改做后盾的修改完用户所要修改的股票资料后,用户需要保存自己所做的决定,就靠它了。
F:
费率主要方便用户随时更改手续费和印花税率。
G:
资金方便用户查询所剩金额,以便于购置股票。
另外还可以追加赢利和亏损金额。
H:
退出退出到主界面;股票卖出历史记录这里详细统计了用户卖出股票的代号、购置价、费用、本钱价、名称、当前价、数量、购置时间、卖出时间以及收益〕如图3-2
图3-2
PrivateSubabout_Click〔〕
frmAbout.Show
EndSubPrivateSubfl_Click〔〕
frmfl.Show
EndSub
PrivateSubgp_Click〔〕
frmgu.Show
EndSub
PrivateSubls_Click〔〕
frmls.Show
EndSub
PrivateSub
Tlbar_ButtonClick〔ByValButtonAsMSComctlLib.Button〕
SelectCaseButton.KeyCase"fl"
frmfl.ShowCase"gg"frmgu.Show
Case"jj"frmzj.ShowCase"gy"
frmAbout.ShowvbModalCase"exit"
DimstrmsgAsString
strmsg="确认是否退出?
"
IfMsgBox〔strmsg,vbQuestion+vbOKCancel+vbDefaultButton1,"个人股票管理"〕=vbOKThen
Cancel=False
EndElse
Cancel=True
EndIf
Case"ls"frmls.Show
Case"dy"Form2.ShowCase"yh"
user.ShowvbModal
EndSelect
EndSub
3.3资金管理
包括资金追加,赢利和亏损统计,和查看资金所剩数额。
如图3-3
图3-3
PrivateSubdel〔〕
Iftxtsj.Text=""Then
ExitSub
r=MsgBox〔"是否确认删除?
〔Y/N〕",1+64,"个人股票管理"〕
Ifr=1Then
dbs.Execute"DELETE*FROM"_
&"[投入资金明细]
WHEREID="&grid.TextMatrix〔grid.Row,0〕&""
d1.Refresh
countje
frmgu.trzjhj
trzj
showzj
Sbr.Panels〔1〕.Text="当前资金投入总额:
"&hjzj&"元"
EndIf
txtsj.Text=""
cmbfs.Text=""
txtje.Text=""
txtsj.Enabled=False
cmbfs.Enabled=False
txtje.Enabled=False
EndSub
PrivateSubshowzj〔〕
Ifreczj.RecordCount=0
ThenExitSub
frmgu.trzjhj
countje
Setreczj=dbs.OpenRecordset〔"资金"〕
lbtrje.Caption="资金帐户投入总金额:
"&reczj.Fields〔"资金投量"〕&"元"
gpje.Caption="购置股票总金额:
"&reczj.Fields〔"购股金额"〕&"元"
gpsz.Caption="股票当前市值:
"&reczj.Fields〔"股票市值"〕&"元"
gpyy.Caption="帐户当前损益:
"&sy&"元"
zjxc.Caption="资金帐户余额:
"&reczj.Fields〔"资金存量"〕&"元"
Ifreczj.Fields〔"资金存量"〕>=0Then
Sbr.Panels〔1〕.Text="当前资金余额:
"&reczj.Fields〔"资金存量"〕&"元"
Else
Sbr.Panels〔1〕.Text="当前需要补充资金额:
"&reczj.Fields〔"资金存量"〕&"元"
EndIf
EndSub
3.4费率设置
主要是手续费和印花税率,能修改和确定取消。
如图3-4
图3-4
PrivateSubCmdNO_Click〔〕
UnloadMe
EndSub
PrivateSub
CmdOK_Click〔〕
dbs.Execute"UPDATE费率
SET手续费率="&txtsx.Text&",印花税率="&txtyh.Text&";"_
&""
txtsx.Enabled=False
txtyh.Enabled=False
UnloadMe
EndSub
PrivateSub
Form_Load〔〕
filename=App.Path&"\股票.mdb"
Setdbs=OpenDatabase〔filename〕
Setrec=dbs.OpenRecordset〔"费率"〕
txtsx.Text=rec.Fields〔1〕
txtyh.Text=rec.Fields〔2〕
txtsx.Enabled=False
txtyh.Enabled=False
frmfl.Left=3500
frmfl.Top=1000
EndSub
3.5个人购置记录
主要功能是:
记录买入股票的代号、购置价、费用、本钱价、名称、当前价、数量、购置时间、预测收益。
如图3-5
图3-5
PublicSubjs〔〕
filename=App.Path&"\股票.mdb"
d1.DatabaseName=filename
Setdbs=OpenDatabase〔filename〕
Setrec=dbs.OpenRecordset〔"费率"〕
fl=Val〔rec.Fields〔1〕〕+Val〔rec.Fields〔2〕〕
dbs.Execute"UPDATE个股购置记录
SET费用=买入价*"&fl&",本钱价=买入价+费用,收益=〔当前价-本钱价〕*数量;"_
&""
Setrec=Nothing
EndSub
PrivateSub
Tlbar_ButtonClick〔ByValButtonAsMSComctlLib.Button〕
SelectCaseButton.Key
Case"Add"addCase"Save"save
Case"fl"frmfl.Show
d1.RefreshCase"Del"'删除
Iftxt〔0〕.Text=""Then
ExitSub
r=MsgBox〔"是否确认删除【"&txt〔4〕.Text&"】?
〔Y/N〕",
vbQuestion+vbOKCancel+vbDefaultButton1,"个人股票管理"〕
Ifr=1Thendbs.Execute"DELETE*
FROM"&"[个股购置记录]
WHEREID="&grid.TextMatrix〔grid.Row,0〕&""
d1.Refreshhjjetrzjhjadd
EndIf
Case"Exit"
UnloadMeCase"mc"
sale
Tlbar.Buttons〔4〕.Enabled=False
Tlbar.Buttons〔5〕.Enabled=False
Tlbar.Buttons〔6〕.Enabled=False
Tlbar.Buttons〔7〕.Enabled=False
Case"Edit"xgCase"zj"frmzj.Show
EndSelect
EndSub
PublicSub
trzjhj〔〕
filename=App.Path&"\股票.mdb"
Setdbs=OpenDatabase〔filename〕
Setreczj=dbs.OpenRecordset〔"资金"〕
reczj.edit
reczj.Fields〔"股票市值"〕=hj
reczj.Fields〔"购股金额"〕=gpzj
reczj.Fields〔"损益金额"〕=hj-gpzj
reczj.Update
EndSub
3.6卖出历史记录
这里详细统计了用户卖出股票的代号、购置价、费用、本钱价、名称、当前价、数量、购置时间、卖出时间以及收益。
如图3.6
图3-6
PrivateSub
txtsl_Change〔〕
r=MsgBox〔"你输入的数量超过该股票的现存量!
",0+16,"个人股票管理"〕
txtsl.Text=""
ExitSub
EndIf
txt〔2〕.Text=〔Val〔txt〔1〕〕+Val〔txt〔5〕.Text〕〕*fl
txt〔3〕.Text=Val〔txt〔1〕〕+Val〔txt〔2〕.Text〕
txt〔7〕.Text=〔Val〔txt〔5〕.Text〕-Val〔txt〔3〕.Text〕〕*Val〔txtsl.Text〕
IfVal〔txt〔7〕.Text〕>=0Then
txt〔7〕.ForeColor=&HFF&
Else
Val〔txt〔7〕.Text〕<0
txt〔7〕.ForeColor=&HC000&
EndIf
EndSub
PublicSubtrzjhj〔〕
filename=App.Path&"\股票.mdb"
Setdbs=OpenDatabase〔filename〕
Setreczj=dbs.OpenRecordset〔"资金"〕
reczj.edit
reczj.Fields〔"股票市值"〕=hj
reczj.Fields〔"购股金额"〕=gpzj
reczj.Fields〔"损益金额"〕=hj-gpzj
reczj.Update
EndSub
PrivateSubhjje〔〕
filename=App.Path&"\股票.mdb"
Setdbs=OpenDatabase〔filename〕
Setrec=dbs.OpenRecord