开放式基金
2007-02-26 18:34
232 查看
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;
using System.IO;
using System.Collections;
namespace SEI.DL88250.SourceCodes.CSharp
{
struct FoundationData
{
public string _code;
public string _name;
public string _tDay;
public string _tSub1Day;
public string _growRate;
public string _pureValue;
}
class OpenFoundation
{
public static string[] _foundationNames
= { "汇添富均衡增长",
"景顺长城新兴成长",
"华安宏利",
"易方达策略成长2号",
"南方绩优成长",
"南方避险"
};
public static double[] _originalPureValue
= { 1.8271,
1.8120,
1.6818,
1.596,
1.0,
1.0
};
public static double[] _investment
= { 50000,
20000,
100000,
60000,
60000,
11000
};
public static double[] _shares
= { _investment[0] / _originalPureValue[0],
_investment[1] / _originalPureValue[1],
_investment[2] / _originalPureValue[2],
_investment[3] / _originalPureValue[3],
_investment[4] / _originalPureValue[4],
_investment[5] / _originalPureValue[5],
};
static void Main(string[] args)
{
{
()
}
#region 下载数据
string pageHtml = "";
try
{
WebClient aWebClient = new WebClient();
// 获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。
aWebClient.Credentials = CredentialCache.DefaultCredentials;
// 从指定网站下载数据
Byte[] pageData = aWebClient.DownloadData("http://finance.sina.com.cn/realstock/js/openfundjs.js");
// 如果获取网站页面采用的是GB2312,则使用这句
pageHtml = Encoding.Default.GetString(pageData);
// 如果获取网站页面采用的是UTF-8,则使用这句
// string pageHtml = Encoding.UTF8.GetString(pageData);
}
catch (WebException webE)
{
Console.WriteLine(webE.Message.ToString());
}
#endregion 下载数据结束
#region 数据整理
pageHtml = pageHtml.Replace(""", "");
string[] data = pageHtml.Split(';');
ArrayList foundataArray = new ArrayList();
for (int i = 2; i < data.Length - 1; i++)// data[0,1]内有不相关内容
{
data[i] = data[i].Remove(0, 1);
string[] aFoundationInfo = data[i].Split('|');
FoundationData fd;
aFoundationInfo[0] = aFoundationInfo[0].Substring(aFoundationInfo[0].IndexOf('=')+2, 6);
for (int j = 0; j < _foundationNames.Length; j++)
{
if (aFoundationInfo[1] == _foundationNames[j])
{
fd._code = aFoundationInfo[0];
fd._name = aFoundationInfo[1];
fd._tDay = aFoundationInfo[2];
fd._tSub1Day = aFoundationInfo[3];
fd._growRate = aFoundationInfo[4];
fd._pureValue = aFoundationInfo[5];
foundataArray.Add(fd);
}
}
}
#endregion 数据整理结束
#region 打印基金信息
Console.WriteLine("编号 名称 昨日净值 前日净值 增长率 累积净值");
foreach (FoundationData of in foundataArray)
{
Console.WriteLine("{0}{1}{2}{3}{4}{5}",
PadRightTrueLen(of._code, 9, ' ', false),
PadRightTrueLen(of._name, 20, ' ', false),
PadRightTrueLen(of._tDay, 16, ' ', false),
PadRightTrueLen(of._tSub1Day, 16, ' ', false),
PadRightTrueLen(of._growRate, 15, ' ', false),
of._pureValue);
}
#endregion 打印基金信息结束
#region 投资回报计算
#endregion 投资回报计算结束
}
public static int TrueLength(string str)
{
int lenTotal = 0;
int n = str.Length;
string strWord = "";
int asc;
for (int i = 0; i < n; i++)
{
strWord = str.Substring(i, 1);
asc = Convert.ToChar(strWord);
if (asc < 0 || asc > 127)
{
lenTotal = lenTotal + 2;
}
else
{
lenTotal = lenTotal + 1;
}
}
return lenTotal;
}
public static string PadRightTrueLen(string strOriginal, int maxTrueLength, char chrPad, bool blnCutTail)
{
string strNew = strOriginal;
if (strOriginal == null || maxTrueLength <= 0)
{
strNew = "";
return strNew;
}
int trueLen = TrueLength(strOriginal);
if (trueLen > maxTrueLength)
{
if (blnCutTail)
{
for (int i = strOriginal.Length - 1; i > 0; i--)
{
strNew = strNew.Substring(0, i);
if (TrueLength(strNew) == maxTrueLength)
{
break;
}
else if (TrueLength(strNew) < maxTrueLength)
{
strNew += chrPad.ToString();
break;
}
}
}
}
else// 填充
{
for (int i = 0; i < maxTrueLength - trueLen; i++)
{
strNew += chrPad.ToString();
}
}
return strNew;
}
}
}
using System.Text;
using System.Text.RegularExpressions;
using System.Net;
using System.IO;
using System.Collections;
namespace SEI.DL88250.SourceCodes.CSharp
{
struct FoundationData
{
public string _code;
public string _name;
public string _tDay;
public string _tSub1Day;
public string _growRate;
public string _pureValue;
}
class OpenFoundation
{
public static string[] _foundationNames
= { "汇添富均衡增长",
"景顺长城新兴成长",
"华安宏利",
"易方达策略成长2号",
"南方绩优成长",
"南方避险"
};
public static double[] _originalPureValue
= { 1.8271,
1.8120,
1.6818,
1.596,
1.0,
1.0
};
public static double[] _investment
= { 50000,
20000,
100000,
60000,
60000,
11000
};
public static double[] _shares
= { _investment[0] / _originalPureValue[0],
_investment[1] / _originalPureValue[1],
_investment[2] / _originalPureValue[2],
_investment[3] / _originalPureValue[3],
_investment[4] / _originalPureValue[4],
_investment[5] / _originalPureValue[5],
};
static void Main(string[] args)
{
{
()
}
#region 下载数据
string pageHtml = "";
try
{
WebClient aWebClient = new WebClient();
// 获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。
aWebClient.Credentials = CredentialCache.DefaultCredentials;
// 从指定网站下载数据
Byte[] pageData = aWebClient.DownloadData("http://finance.sina.com.cn/realstock/js/openfundjs.js");
// 如果获取网站页面采用的是GB2312,则使用这句
pageHtml = Encoding.Default.GetString(pageData);
// 如果获取网站页面采用的是UTF-8,则使用这句
// string pageHtml = Encoding.UTF8.GetString(pageData);
}
catch (WebException webE)
{
Console.WriteLine(webE.Message.ToString());
}
#endregion 下载数据结束
#region 数据整理
pageHtml = pageHtml.Replace(""", "");
string[] data = pageHtml.Split(';');
ArrayList foundataArray = new ArrayList();
for (int i = 2; i < data.Length - 1; i++)// data[0,1]内有不相关内容
{
data[i] = data[i].Remove(0, 1);
string[] aFoundationInfo = data[i].Split('|');
FoundationData fd;
aFoundationInfo[0] = aFoundationInfo[0].Substring(aFoundationInfo[0].IndexOf('=')+2, 6);
for (int j = 0; j < _foundationNames.Length; j++)
{
if (aFoundationInfo[1] == _foundationNames[j])
{
fd._code = aFoundationInfo[0];
fd._name = aFoundationInfo[1];
fd._tDay = aFoundationInfo[2];
fd._tSub1Day = aFoundationInfo[3];
fd._growRate = aFoundationInfo[4];
fd._pureValue = aFoundationInfo[5];
foundataArray.Add(fd);
}
}
}
#endregion 数据整理结束
#region 打印基金信息
Console.WriteLine("编号 名称 昨日净值 前日净值 增长率 累积净值");
foreach (FoundationData of in foundataArray)
{
Console.WriteLine("{0}{1}{2}{3}{4}{5}",
PadRightTrueLen(of._code, 9, ' ', false),
PadRightTrueLen(of._name, 20, ' ', false),
PadRightTrueLen(of._tDay, 16, ' ', false),
PadRightTrueLen(of._tSub1Day, 16, ' ', false),
PadRightTrueLen(of._growRate, 15, ' ', false),
of._pureValue);
}
#endregion 打印基金信息结束
#region 投资回报计算
#endregion 投资回报计算结束
}
public static int TrueLength(string str)
{
int lenTotal = 0;
int n = str.Length;
string strWord = "";
int asc;
for (int i = 0; i < n; i++)
{
strWord = str.Substring(i, 1);
asc = Convert.ToChar(strWord);
if (asc < 0 || asc > 127)
{
lenTotal = lenTotal + 2;
}
else
{
lenTotal = lenTotal + 1;
}
}
return lenTotal;
}
public static string PadRightTrueLen(string strOriginal, int maxTrueLength, char chrPad, bool blnCutTail)
{
string strNew = strOriginal;
if (strOriginal == null || maxTrueLength <= 0)
{
strNew = "";
return strNew;
}
int trueLen = TrueLength(strOriginal);
if (trueLen > maxTrueLength)
{
if (blnCutTail)
{
for (int i = strOriginal.Length - 1; i > 0; i--)
{
strNew = strNew.Substring(0, i);
if (TrueLength(strNew) == maxTrueLength)
{
break;
}
else if (TrueLength(strNew) < maxTrueLength)
{
strNew += chrPad.ToString();
break;
}
}
}
}
else// 填充
{
for (int i = 0; i < maxTrueLength - trueLen; i++)
{
strNew += chrPad.ToString();
}
}
return strNew;
}
}
}
相关文章推荐
- 开放式基金基础知识
- 开放式基金投资的收益来源是什么
- 开放式基金和封闭式基金的关系及主要区别
- 开放式基金天瑞,如何成就“申购之王”?
- 找到一个可以下载开放式基金历史数据的网站
- 什么是开放式基金的封闭期
- 现阶段为开放式基金赎回良机
- 开放式基金和封闭式基金在回报上有什么区别
- 开放式基金的概念以及在不同国家的称呼
- 全球数据库-->基金/管理产品-->分类/行业平均-->开放式分类
- 开放式基金共有19只为其基金公司所投资
- 银河上半年开放式基金排名:股票型基金
- 开放式基金与封闭式基金的比较
- 基金知识:买卖开放式基金有哪些费用
- 货币型基金接口 开放式基金数据调用
- 一张图告诉你封闭式基金和开放式基金的区别是什么
- [ZT]投资开放式基金前先算一下成本
- 什么是开放式基金?
- 银河上半年开放式基金排名:混合型基金
- 买卖开放式基金需要交那些费用?