① 編寫一個股票買賣收益計算器
股票收益即股票投資收益,是指企業或個人以購買股票的形式對外投資取得的專股利,轉屬讓、出售股票取得款項高於股票帳面實際成本的差額,股權投資在被投資單位增加的凈資產中所擁有的數額等。
股票收益包括股息收入、資本利得和公積金轉增收益。
股票收益率是反映股票收益水平的指標
1,是反映投資者以現行價格購買股票的預期收益水平。它是年現金股利與現行市價之比率。
本期股利收益率=(年現金股利/本期股票價格)*100%
2,股票投資者持有股票的時間有長有短,股票在持有期間獲得的收益率為持有期收益率。
持有期收益率=[(出售價格-購買價格)/持有年限+現金股利]/購買價格*100%
3,公司進行拆股必然導致股份增加和股價下降,正是由於拆股後股票價格要進行調整,因而拆股後的持有期收益率也隨之發生變化。
② 請問怎樣用Java獲取股票行情歷史數據新浪、搜狐、百度財經都可以......
publicclassStockConnection{
publicstaticvoidmain(String[]args){
=null;
try{
//搜狐股票行情歷史介面
// ur=newURL("http://q.stock.sohu.com/hisHq?code=cn_300228&start=20130930&end=20131231&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp");
//新浪股票行情歷史介面
ur=newURL("http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?&rand=random(10000)&symbol=sh600000&end_date=20150809&begin_date=20000101&type=plain");
HttpURLConnectionuc=(HttpURLConnection)ur.openConnection();
BufferedReaderreader=newBufferedReader(newInputStreamReader(ur.openStream(),"GBK"));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
③ argos股票多少錢
Argos療法(NASDAQ:ARGS) 收盤價: $0.1202
最高:0.1316 今開:0.1201 成交量:22431股 換手:0.28%
最低:0.1201 昨收:0.1310 成交額:2870.00 振幅:8.78%
④ 搜狐股票歷史數據介面
publicclassStockConnection{
publicstaticvoidmain(String[]args){
=null;
try{
//搜狐行情歷史介面
// ur=newURL(");
//新浪行情歷史介面
ur=newURL("(10000)&symbol=sh600000&end_date=20150809&begin_date=20000101&type=plain");
HttpURLConnectionuc=(HttpURLConnection)ur.openConnection();
BufferedReaderreader=newBufferedReader(newInputStreamReader(ur.openStream(),"GBK"));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
⑤ 開發炒股軟體,從哪裡獲得股票數據
目前市場上有很多股票行情交易軟體,各種軟體提供了豐富的分析和展示功能,而且基本上是免費的。但這些數據都是在線的、無法統一地下載到本地進行分析,於是上網找了些資料,有的是將程序到新浪搜狐的財經頻道或其他財經類網站抓取並分析網頁,這種方法操作性不強而且准確率較低,遇到廣告或網頁變動時風險較大。於是找到了Sina股票數據介面,這個介面是通過在IE端輸入"http://hq.sinajs.cn/list="+相應股票代碼網站返回一個文件形式的數據,也可以通過JS獲取該文件中的變數得到想要的數據字元串。
以大秦鐵路(股票代碼:601006)為例,如果要獲取它的最新行情,只需訪問新浪的股票數據介面:http://hq.sinajs.cn/list=sh601006這個url會返回一串文本,例如:
var hq_str_sh601006="大秦鐵路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92,
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";
這個字元串由許多數據拼接在一起,不同含義的數據用逗號隔開了,按照程序員的思路,順序號從0開始。
0:」大秦鐵路」,股票名字;
1:」27.55″,今日開盤價;
2:」27.25″,昨日收盤價;
3:」26.91″,當前價格;
4:」27.55″,今日最高價;
5:」26.20″,今日最低價;
6:」26.91″,競買價,即「買一」報價;
7:」26.92″,競賣價,即「賣一」報價;
8:」22114263″,成交的股票數,由於股票交易以一百股為基本單位,所以在使用時,通常把該值除以一百;
9:」589824680″,成交金額,單位為「元」,為了一目瞭然,通常以「萬元」為成交金額的單位,所以通常把該值除以一萬;
10:」4695″,「買一」申請4695股,即47手;
11:」26.91″,「買一」報價;
12:」57590″,「買二」
13:」26.90″,「買二」
14:」14700″,「買三」
15:」26.89″,「買三」
16:」14300″,「買四」
17:」26.88″,「買四」
18:」15100″,「買五」
19:」26.87″,「買五」
20:」3100″,「賣一」申報3100股,即31手;
21:」26.92″,「賣一」報價
(22, 23), (24, 25), (26,27), (28, 29)分別為「賣二」至「賣四的情況」
30:」2008-01-11″,日期;
31:」15:05:32″,時間;
相應地,也可以獲得深市相關股票信息,但是這種方法的弊病是只能獲得最新的或者是當天的股票數據,無法將歷史數據導入到資料庫,當然,你也可以以某一天為起始點自己重新創造歷史數據。所以繼續尋找其他網站介面,終於找到了雅虎財經網站,它提供的介面可以直接把股票歷史數據導成Excel,真實太方便了!直接在瀏覽器地址中數據網址即可http://table.finance.yahoo.com/table.csv?s=股票代碼,但是如果手動輸入再逐一下載保存簡直是太麻煩了,光上證股票就800多個,估計剛手動下載完就又開盤了還得重新下載。所以我的思路是,1、利用多線程方法下載股票文件。2、將這些文件統一導入資料庫。
1.1文件下載類:
import java.io.*;
import java.net.*;
import java.util.List;
import fatowen.stocksystem.sysconfig.data.DownLoadVO;
public class HttpDownFile {
private static int BUFFER_SIZE = 8096;
/**根據URL下載文件並保存
* @param destUrl String
* @param fileName String
* @throws Exception
*/
public void saveToFile(String destUrl, String fileName) throws IOException {
FileOutputStream fos = null;
BufferedInputStream bis = null;
HttpURLConnection httpUrl = null;
URL url = null;
byte[] buf = new byte[BUFFER_SIZE];
int size = 0;
url = new URL(destUrl);
httpUrl = (HttpURLConnection) url.openConnection();
httpUrl.connect();
bis = new BufferedInputStream(httpUrl.getInputStream());
fos = new FileOutputStream(fileName);
while ((size = bis.read(buf)) != -1)
fos.write(buf, 0, size);
fos.close();
bis.close();
httpUrl.disconnect();
}
}
1.2多線程實現下載類:
import java.util.ArrayList;
import java.util.List;
public class HisDataAddThread extends Thread {
boolean runFlag = true;
List myParamList = null;
String downLoadData ="";
String baseUrl = "http://table.finance.yahoo.com/table.csv?s=";
String result = "";
String savePath = "";
public HisDataAddThread(List paramList,String savePath){
this.myParamList = paramList;
this.savePath = savePath;
}
public void run() {
while(runFlag){
downLoadData = PublicDataUtil.getDownLoadData(myParamList);
if(!Lib.isEmpty(downLoadData)){
HttpDownFile oInstance = new HttpDownFile();
try {
oInstance.saveToFile(baseUrl + downLoadData, savePath + downLoadData + ".csv");
}catch (Exception err) {
System.out.println(err.toString());
}
}else{
runFlag = false;
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public List getFailureList() {
return failureList;
}
public void setFailureList(List failureList) {
this.failureList = failureList;
}
public List getSuccessList() {
return successList;
}
public void setSuccessList(List successList) {
this.successList = successList;
}
}
2.將下載完的文件統一保存到資料庫工具類
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class CSVUtitl {
private BufferedReader bufferedreader = null;
private List list = new ArrayList();
public CSVUtitl(){
}
public CSVUtitl(String filename) throws IOException{
bufferedreader = new BufferedReader(new FileReader(filename));
String stemp;
while((stemp = bufferedreader.readLine()) != null){
list.add(stemp);
}
}
public List getList() throws IOException {
return list;
}
// 得到csv文件的行數
public int getRowNum(){
return list.size();
}
//得到csv文件的列數
public int getColNum(){
if(!list.toString().equals("[]")) {
//csv文件中,每列之間的是用','來分隔的
if(list.get(0).toString().contains(",")) {
return list.get(0).toString().split(",").length;
}else if(list.get(0).toString().trim().length() != 0) {
return 1;
}else{
return 0;
}
}else{
return 0;
}
}
//取得指定行的值
public String getRow(int index) {
if (this.list.size() != 0)
return (String) list.get(index);
else
return null;
}
//取得指定列的值
public String getCol(int index){
if (this.getColNum() == 0){
return null;
}
StringBuffer scol = new StringBuffer();
String temp = null;
int colnum = this.getColNum();
if (colnum > 1){
for (Iterator it = list.iterator(); it.hasNext();) {
temp = it.next().toString();
scol = scol.append(temp.split(",")[index] + ",");
}
}else{
for (Iterator it = list.iterator(); it.hasNext();) {
temp = it.next().toString();
scol = scol.append(temp + ",");
}
}
String str=new String(scol.toString());
str = str.substring(0, str.length() - 1);
return str;
}
//取得指定行,指定列的值
public String getString(int row, int col) {
String temp = null;
int colnum = this.getColNum();
if(colnum > 1){
temp = list.get(row).toString().split(",")[col];
}else if(colnum == 1) {
temp = list.get(row).toString();
}else{
temp = null;
}
return temp;
}
public void CsvClose() throws IOException {
this.bufferedreader.close();
}
public void run(String filename) throws IOException {
CSVUtitl cu = new CSVUtitl(filename);
for(int i=0;i<cu.getRowNum();i++){
String SSCCTag = formatData(cu.getString(i,1));//得到第i行.第一列的數據.
String SiteName = formatData(cu.getString(i,2));//得到第i行.第二列的數據.
String StationId= formatData(cu.getString(i,3));
//將數據保存到資料庫中
... ...
... ...
... ...
}
cu.CsvClose();
}
public String formatData(String baseData){
String result = null;
if(!"".equals(baseData) && baseData != null){
if(baseData.length() > 1){
result = baseData.substring(1,baseData.length());
result = result.substring(0, result.length()-1);
}else{
result = baseData;
}
}else{
result = "";
}
return result.trim();
}
public static void main(String[] args) throws IOException {
CSVUtitl test = new CSVUtitl();
try{
File path = new File("e:\\data");
File[] f = path.listFiles();
List l = new ArrayList();
for(int i=0;i<f.length;i++){
if(f[i].getName().endsWith(".csv"))
l.add(f[i]); www.2cto.com
}
Iterator it = l.iterator();
while(it.hasNext()){
File ff = (File)it.next();
test.run(path.toString()+File.separator+ff.getName());
}
}catch (Exception e){
}
}
}
⑥ 編寫一個類Stock表示股票,成員變數有: string型symbol,表示股票代碼. String型name,表示股票名稱. double
其實這種最基礎的題目,你自己想一下就做出來了。
public class Stock {
private String symbol;
private String name;
private double currentPrice;
public Stock(){
}
public void display(){
System.out.println("(" + this.symbol + ")" + this.name + ":" + this.currentPrice);
}
public String getSymbol() {
return symbol;
}
public void setSymbol(String symbol) {
this.symbol = symbol;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getCurrentPrice() {
return currentPrice;
}
public void setCurrentPrice(double currentPrice) {
this.currentPrice = currentPrice;
}
}
⑦ 如何通過URL傳遞的股票代碼判斷是SH還是SZ
function getArgs( ) {
var args = new Object( );
var query = location.search.substring(1); // 獲取問號後面的參數
var pairs = query.split("&"); // Break at ampersand
for(var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('=');
if (pos == -1) continue;
var argname = pairs[i].substring(0,pos); //參數名
var value = pairs[i].substring(pos+1); // 參數值
args[argname] = value;
}
return args; //返回參數數組
}
如果 只有一個參數的話 就不需要循環了
⑧ 外圍股票改單哪個最好
波斯貓 波斯貓(Persian)是最常見的長毛貓。它是以阿富汗的土種長毛貓和土耳其的安哥拉長毛貓為基礎,在英國經過100多年的選種繁殖,於1860年誕生的一個品種。貓中貴族,性情溫文爾雅,聰明敏捷,善解人意,少動好靜,叫聲尖細柔美,愛撒嬌,舉止風度翩翩,天生一副嬌生慣養之態,給人一種華麗高貴的感覺。波斯貓體格健壯、有力,軀體線條簡潔流暢;圓臉、扁鼻、腿粗短,耳小、眼大、尾短圓。波斯貓有一張討人喜愛的面龐,長而華麗的背毛,優雅的舉止,故有「貓中王子」、「王妃」之稱,是世界上愛貓者最喜歡的一種純種貓,佔有極其重要的地位。在世界范圍內,波斯貓受到了極大歡迎,養貓者為有一隻波斯貓而自豪。
⑨ 今日股市還會繼續上漲嗎
[cp]2018年9月4日
今天上證和創業板的K線都沒有特別值得註解的意義,就按照5月10日第一天說K線開始的那樣,把這一段時間的K線做一次梳理,方便大家自己判斷。
5月10日有說到(出現一個K線組合並不是代表隔天或者短線股價就一定會怎樣變化,如果抱著這個目的和想法去學K線,那也不用學了,因為這的確沒意義。
K線組合出現的意義,是這個組合代表了什麼意思,表現出賣訊?買訊?還是觀望信號?而第二天第三天第四天如果連續出現同樣方向的K線訊號,往往就代表接下來的股價大概率會向這個方向演變。)
上證8月31日出現一個下跌過後的紡錘線,之前舉例說明過很多次,偏多解讀代表短線醞釀反彈。
那麼從昨日到今天都算實現了這個反彈。
在微博6月11日,7月6日,8月16日微博都是描述當天為下跌後的紡錘線,怎麼解讀沒映像的可以翻回去看看。之前也提過很多次,但當時沒有像現在這么追蹤K線,所以找起來不方便。
然後昨天出現的K線是一根頸上線,偏空解讀,提防反彈再下殺。
那麼今天繼續反彈,而且幅度不小,是不是就要改變謹慎的看法?[笑而不語]
預計會像我今天在K線圖畫的箭頭那樣走。反彈再下殺~[笑而不語]
在微博6月14日8月13日提過當天K線為頸上線,同時8月16提到上證50滬深300位頸上線,不記得的回去看看。
而創業板8月28日是上漲後的紡錘線,偏空醞釀回調,緊接著8月29日是偏空的空頭吞影線,緊接著8月30和前2個交易日組成下落跳雙陰,偏空K線,8月31日繼續和前2日組成下落跳雙陰。按照5月10日的說法(而第二天第三天第四天如果連續出現同樣方向的K線訊號,往往就代表接下來的股價大概率會向這個方向演變。)連續出現偏空的K線代表的是行情往哪個方向幾率大?
昨天出現一根貫穿線,我們的解讀為何?
(創業板開低走高,進入周五實體一半以上,是為貫穿線,偏多解讀,短線醞釀反彈。)
今天彈了,然後呢?按畫圖箭頭的概率大還是繼續反彈概率大?
上證50今天也以一樣的邏輯進行推理。
⑩ java 簡單 編碼 股票
需要引入java.util.Scanner;
input 變更名稱用了多次,編譯會報錯的
可以仿照下面的demo
import java.util.Scanner;
public class TestScan {
/**
* @param args
*/
public static void main(String[] args) {
內System.out.println("請輸入的數據:容" );
Scanner in = new Scanner(System.in);
String tDob = in.nextLine();
System.out.println("輸入的數據是:" + tDob);
System.out.println(Double.parseDouble(tDob));
}
}