Hello,
If you want the variation displayed in percentage and not in value, you can change the code in a stock-module like this.
The original :

function stock_process_data($data, $headers) {
  $columns = array();

  foreach ($headers as $key => $value) {
    $field = $data[$key];

    // Special handling for some fields
    switch ($key) {
      case 'symbol':
        $columns[] = _add_full_quote($field);
        break;
      case 'change_amt':
        $columns[] = _right_align(_up_down_tick(_decimals($field)));
        break;
      case 'current_price':
      case 'opening':
      case 'high':
      case 'low':
        $columns[] = _right_align(_decimals($field));
        break;
      case 'volume':
        $columns[] = _right_align($field);
        break;
      default:
        $columns[] = $field;
        break;
    }
  }

  return $columns;
}

and the new code

function stock_process_data($data, $headers) {
global 	  $Temp;
  $columns = array();

  foreach ($headers as $key => $value) {
    $field = $data[$key];

    // Special handling for some fields
    switch ($key) {
      case 'symbol':
        $columns[] = _add_full_quote($field);
        break;
      case 'current_price':
		$Temp = $field;
      case 'opening':
      case 'high':
      case 'low':
        $columns[] = _right_align(_decimals($field));
        break;
	  case 'change_amt':
        $columns[] = _right_align(_up_down_tick(_decimals(($field/($Temp-$field))*100)));
        break;
      case 'volume':
        $columns[] = _right_align($field);
        break;
      default:
        $columns[] = $field;
        break;
    }
  }

  return $columns;
}

Enjoy

Comments

kbahey’s picture

Status: Active » Needs work

Please submit this as a patch. It will be reviewed by others and then incorporated in the module after that.

See http://drupal.org/patch for details on how to create one.

booddha’s picture

Another method of keeping the original stock.module.
The amendment is in stockapi.module

On line 83 you change "c1" to "p2"

Original
$fields = 'snl1c1ohgvd1t1';

and the new code
$fields = 'snl1p2ohgvd1t1';

Enjoy

Downloading Yahoo data

thanks to M.Kishinevsky and M. Higgs

Here's a neat way to download stock data from Yahoo, perhaps into a spreadsheet
(so you can play with the data):

http://finance.yahoo.com/d/quotes.csv?s=

a BUNCH of STOCK SYMBOLS separated by "+"
&f=a bunch of special tags

for example:
http://finance.yahoo.com/d/quotes.csv?s=XOM+BBDb.TO+JNJ+MSFT&f=
where some special tags are (thanks to Mike):

a Ask
a2 Average Daily Volume
a5 Ask Size
b Bid
b2 Ask (Real-time)

b3 Bid (Real-time)
b4 Book Value
b6 Bid Size
c Change & Percent Change

c1 Change
c3 Commission
c6 Change (Real-time)
c8 After Hours Change (Real-time)

d Dividend/Share
d1 Last Trade Date
d2 Trade Date
e Earnings/Share

e1 Error Indication (returned for symbol changed / invalid)
e7 EPS Estimate Current Year
e8 EPS Estimate Next Year
e9 EPS Estimate Next Quarter

f6 Float Shares
g Day's Low
h Day's High
j 52-week Low

k 52-week High
g1 Holdings Gain Percent
g3 Annualized Gain
g4 Holdings Gain

g5 Holdings Gain Percent (Real-time)
g6 Holdings Gain (Real-time)
i More Info
i5 Order Book (Real-time)

j1 Market Capitalization
j3 Market Cap (Real-time)
j4 EBITDA
j5 Change From 52-week Low

j6 Percent Change From 52-week Low
k1 Last Trade (Real-time) With Time
k2 Change Percent (Real-time)
k3 Last Trade Size

k4 Change From 52-week High
k5 Percebt Change From 52-week High
l Last Trade (With Time)
l1 Last Trade (Price Only)

l2 High Limit
l3 Low Limit
m Day's Range
m2 Day's Range (Real-time)

m3 50-day Moving Average
m4 200-day Moving Average
m5 Change From 200-day Moving Average
m6 Percent Change From 200-day Moving Average

m7 Change From 50-day Moving Average
m8 Percent Change From 50-day Moving Average
n Name
n4 Notes

o Open
p Previous Close
p1 Price Paid
p2 Change in Percent

p5 Price/Sales
p6 Price/Book
q Ex-Dividend Date
r P/E Ratio

r1 Dividend Pay Date
r2 P/E Ratio (Real-time)
r5 PEG Ratio
r6 Price/EPS Estimate Current Year

r7 Price/EPS Estimate Next Year
s Symbol
s1 Shares Owned
s7 Short Ratio

t1 Last Trade Time
t6 Trade Links
t7 Ticker Trend
t8 1 yr Target Price

v Volume
v1 Holdings Value
v7 Holdings Value (Real-time)
w 52-week Range

w1 Day's Value Change
w4 Day's Value Change (Real-time)
x Stock Exchange
y Dividend Yield

izmeez’s picture

Maybe this should be done in stockapi module but wouldn't it be better to show both the change with the percent in brackets, example 0.68(1.58%) ?