|
maodeng 发表于 2013-1-28 13:13 ![]()
- x {, f& ~7 @1 n& [+ [. hello 300236
3 K1 U5 U5 T0 Kstatement out of context0 ?. p6 J- y+ C# C) V4 x& U$ }( t- M# _
r(119);
& P- c% p+ g; H c. M抱歉,最近太忙了( w' _. z/ d o; ^; j' N1 r& p. t: [
: [- d' b. {$ f& V
300236 我用下面的程序试过,没问题. m1 U: a' J8 c5 q" [
1 |9 t8 U6 n. [' M* @/ h
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
% R g$ u6 ?5 u
/ y2 @% O+ O2 kcapture program drop hello7 [% d/ |: i" S0 d
$ q# N2 o- h9 Y# F" O% Q5 M+ v) qprogram hello
6 ^4 M' [5 M# e' R' j- M2 f( t. _
quietly {
. w- d. \! F( G6 @7 h; m% ]# p9 q$ P2 V2 w
clear! v: r% j# i7 F: m/ f$ I5 o# @+ C
1 C% X6 }1 @: Q" N9 }& b, B
cd D:\stock\test\source4 N! `9 R: g0 |7 C) ^9 i
3 E- K J- t# |0 j* Uinsheet using `1'.txt
`! H1 z' K, S: H. x( M/ ~. }% U
% t& c/ Q* ^9 G m2 Y8 y, _7 a2 X, G keep if v5>0
( A, r% [" |6 P% {7 ?7 h
0 c, I6 a( |7 v2 s9 @ gen vt=_n
! M7 W0 l3 v6 u+ o: [ , d8 e2 A i0 A* z
tsset vt
! K! Q! K, q. |1 B+ d8 p9 m( c% E) H! e: w% J) L+ |
gen zf=D1.v54 p z3 J/ s$ K1 Q% ] k$ G
) T n; L( @ ~+ f9 x gsort -v16 z$ X7 _7 D& s# P0 q: S
6 l; I: s; g+ T/ s+ ]- b# K% v
gen avol=v7/v5: t2 B# C8 D9 t; B- w8 O. h
; S- V+ T4 T( m+ ~/ f keep if avol>07 x+ Q, U* ~# D* Q
% X0 |8 {1 X% p2 J
drop vt& Z; Z# ^0 h" e' Q
" D4 N* D2 f- G; H6 g8 o; P# r4 A gen vt=_n
9 c0 ]& p* M8 a" b' w+ S5 | _ @) r: n1 s& ~$ t
tsset vt0 ?2 d1 J" C% S2 Z# \
7 u1 {+ n- U A; X) L. a
sum v5 [aw =avol]
; p& e* a6 `6 ~+ m5 ]0 L3 a
: C: w w5 K- D1 `* ^: S( g2 ? gen amean=r(mean) in 1
! p1 c/ s" h! a4 }5 ? ( S6 x9 _& _ ^& P6 w: v, M9 F
* 总加权平均值 amean7 l5 g- h8 g8 R* e
( _% t, L8 j7 q; y u+ G1 ^! Q& n 5 _' _% I" V7 v0 V( k" C
keep in 1/240
6 h) [/ \9 |: P% w5 {& ^, b g
' n# e# Q" ]( i# J l sum v5 [aw =avol], d7 @4 e; y- h
- K, N/ @0 j( k1 z+ C
gen mean240=r(mean) in 13 H* ?- p3 u% [) M+ g. k8 Z [
! n: i; r* F( y6 l- X
*240加权平均值 mean240% h& [7 J/ k; m" t
2 V1 p+ E, [& R4 \
set obs 500
9 G( L& E: m( Y( Z+ p
) B4 m8 a/ A8 R3 ~0 } kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
9 p8 N) }# h" Q! a1 X4 l ) u) X& _ L* U, A V, ^* `6 R! F
*240 kdensity(dx240 dy240)
! i3 O; E, { {) r + M6 f6 X+ b A' V
sum dy240% F. x9 U& S% k7 c7 K; y
5 w' d/ N* C o6 @ gen yxis=r(max) in 1, w7 W- r2 ]& E: T# u
$ S: A! j: o7 _2 F8 v gen yxis2=yxis/2! c4 r8 c" P( O5 O# K- f8 M! z
+ \( v. a, r1 S, _% Y0 ], ]1 q *yxis
+ d5 y6 L4 b @ E' y- a: Z+ { R
& ~0 `- m2 v' q B+ T& g gen dy240max=r(max)1 y, s5 U, M7 k" i M
) l( g( R0 f3 P# X gen dy240minp=r(min)
: O( S7 r8 w. \9 ? |- q ; [! b: J, z5 g" h* x8 B
gen vtt=_n
: q/ g; ]1 u$ _* b% w% Y- X8 j; H! Q; X/ ?. s
tsset vtt' j2 X8 C4 t" |0 h4 n& K3 D
O$ {4 ?2 z( A$ j: _, k gen ddy240=D1.dy240/D1.dx240
3 x( Q g i8 R
" T* e9 ? o; h: x3 C# I' @ sum ddy240
+ v1 o. ]- k) m+ ?; \% G) D
# |* l& z6 m2 U; K gen ddy240max=r(max)- E+ g. d& y0 l; q
4 ]/ w5 k- V U ^- H2 g1 ]* S gen ddy240min=r(min)
- f, Q! P# \/ L/ ]1 ? e; F9 G 8 E& ?, J6 P( |3 z% P u
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
% `1 E( K x2 K+ s. O; @( D' T
_1 x, c% k$ v sum ddy240g
% v/ V: Z/ L2 c T* n 8 V+ K9 f) t- O9 Q2 I5 ?" `% ^
gen yxis3=r(min) in 1
/ V# S9 S3 a! i( Q" e: l( v ' \8 D9 t( {% Y. V6 G6 P0 |
gen yxis4=0 in 1
4 e$ o! V, w% _, Q: W 1 D9 W9 n# b& l( F7 V$ z$ Z
*ddy240g
6 z2 x* y m1 C# W" Z. e$ E 7 }9 z: X, c2 x4 L9 C6 l9 {
" \; x6 p, n! I" F+ ? v% r [ preserve
, H4 K. z K ` i. {
* [7 J5 V: r3 Q: D+ O9 P sum v5 [aw =avol]* {; G. Z2 j0 h, p- y
/ A R9 k4 V% v- l
keep if dx240<r(mean)
( K; s" |. U9 V8 n$ K0 K; g) N _& I+ @( M* ~5 M+ b7 P" P7 A
sum ddy240; z0 O4 v/ p4 E# s7 I$ X7 E% \
3 V. U0 Z: x2 V; K
if r(min)<0 {1 X- a$ B& s4 |0 f4 O4 ^
+ b, i. O) V" V) V
keep if ddy240<=0
; w9 a- M: @9 r! m8 _" w, x
7 J# L- r4 X7 {" n5 R count- }8 ~9 J( B. T% i+ F1 N; }$ |
$ w- O' i2 F$ v6 Y
if r(N)>2 {
' }, `8 J* \; b7 O! G . l+ l6 A) a9 V' d3 ^
pkexamine dx240 dy2400 d; v5 s( i( I1 Y& m3 U9 s* \
; l4 m, q: a/ m+ S' A3 y local tempminp=r(tomc), J5 a9 h9 z7 e. y8 ^4 Y
restore ' S; Y! N0 ?- f7 Z/ G
}
( F( `8 C4 w7 G6 L! s3 f 2 Z2 v$ Y. c+ l4 x* R0 D: K, S7 c
else {! k/ b% r7 J$ Z9 H
- Q0 x+ v* H, c( Z! [) A' K
di "cannot find minp"' r" @' D! o$ k0 J/ a4 M
+ J( ~( c5 T* F6 L" t restore
3 r' F. C [. w" p1 @ sum dx240
/ r7 r! Y1 F! _) Q$ p2 f3 Y local tempminp=r(mean)" g6 W+ `' Z7 O+ C1 `
- x: m0 ^: X- d5 @! a1 A" S
}4 K0 P) g3 r" ~9 F4 h
}4 k1 v4 A8 o* I$ o# ?, T, \
else {
% i( n6 f+ S, s+ e0 c! c
5 e4 v5 r2 ]& @' _ keep if ddy240<=r(min)
0 r) p+ }# }, @ / `. i1 c2 p" T5 H0 n
sum dx240$ L% h$ j, w) S) M4 ~
' A6 H$ y% x0 W9 Y6 G: y
local tempminp=r(min)
& ?, X9 N) X' \: Z2 @ restore
7 t1 v+ f& \: t6 Y. r3 h0 U& r }: j$ i* o0 }7 Y( z9 E9 b7 H
2 W$ O+ I. C8 c2 @" v
6 e2 p% A# {9 `7 _! C# x: I/ ?1 U) f! b) V9 U6 a
gen minp=`tempminp' in 1) @- @4 y7 V& [" P' i
*240 minp
' q" _4 \; }! _- P+ L( c6 |6 D: T1 Q# B; A- x9 G
8 V. ~4 D0 t3 J7 ^2 ]. u8 G
! F" e, L: j$ A preserve
( p1 \7 R8 l, A
. v: q1 _2 t- t6 R$ ~ sum v5 [aw =avol]& p3 c! z2 d1 w1 r* a
2 ^: ~. Q9 H) A# ~ y5 U6 Q keep if dx240>r(mean)+ o# a) G4 t0 ^3 Q) e
7 W" I j0 t0 J7 _& J. M sum ddy240
" b0 \% ~' N) D" E
2 V7 p4 e5 e7 f0 ?9 F0 D if r(max)>0 {# }/ Z! J$ n& t: j' R. N
! g! B3 }% Z4 s* t+ D! ]
keep if ddy240>=0
4 [ x; _0 u( i/ [ / i2 s" H$ `* X V. U
count; d0 L# |8 Y8 ]( r
3 }3 Y4 A3 b3 Q if r(N)>2 {
) U4 T/ @" f* j- {' W; h% K0 u# w
% T6 L$ [1 _7 g pkexamine dx240 dy240
/ c, G# D0 {' O. ? % a. r! U5 s% W& I' w% F
local tempmaxp=r(tomc) 0 k) l3 B# W3 \/ m# x) K
restore / q3 m C" R! {: w
}: z5 }; j; u+ n# \5 Q9 Q
e; c0 t; ]0 v+ D
# p3 q! ]2 `9 b1 {6 i6 J5 @( h
else {% [# q! }' ~& ?& a, k( O; `
restore
0 j7 j8 F; B3 U) h& A! a di "cannot find maxp"
( T" v( K& x n! N4 p1 B: Q 2 P4 j6 j0 `+ J8 B% k M
9 _8 ?2 t) |$ ~9 f
sum dx2406 ?, D& b" l+ y9 @! e: T5 ]
local tempmaxp=r(mean)
% T' D# L2 \- V( G+ @
1 _+ y! S/ s! Y3 z8 \3 T* d }
$ j. q$ L( h: b7 T H2 ? ; ~8 ^1 _0 j" Y3 c" e* J
}
$ ]" g- t8 W. \. W
+ o! b. f5 Q# W5 _! F else {0 t& E/ y/ M o* B% G I/ T" I
* Z6 s8 v# H( A6 p2 b0 e" p keep if ddy240>=r(max)
' R' L0 H$ L- n( I
/ ~6 r- |# b9 x: s$ I# X$ V0 [3 Y sum dx2401 T& V+ J2 c0 c+ N. y) Z
4 |2 [7 M( @9 T* H8 Z4 ~% E local tempmaxp=r(max)
2 U: [+ _; ?$ r; O; [& {' M2 D restore 8 c% \# x6 Q2 W- _) \" F
}4 k* g+ k1 f4 A! D. D
# R) ^/ ]$ S( P
7 w: D" J4 ~- `, u' r
: r c5 o* }4 w; F8 ]0 q2 B/ U, U1 @# k
gen maxp=`tempmaxp' in 1
9 v; u1 i9 ?3 J 3 H; E; h% C( L6 F' ?: u5 P2 t
*240maxp9 Y' o, S* ]& e0 F& a6 f
3 b) K" c4 t w$ X" R
, e' d! w, B8 i( n. O+ L *-------------ddy240pminp左侧高峰值-----
! x8 H) }$ E; z" x0 U* K , \6 O5 p; E9 n9 @2 c% g4 a
preserve
# g9 s5 h- Z) ^6 H
' x- R" z3 Q! T7 _: v: H& ~* x o keep if dx240<`tempminp'' z! V4 M& W$ D; L, F6 w
! j5 `% R' v7 \$ I/ S- u: {: r/ t
keep if ddy240>0
! x) W+ K! g5 a9 p: b & J# m9 {' Y( \+ t7 @2 @
count
% k% m5 b+ n# ]( |) A2 S ) W; v. i% l6 h, }
if r(N)>2 {' c. ~( u. n0 Q
: G# D2 V: c, l- w5 q0 `8 V6 d- y
pkexamine dx240 ddy240* ^2 C8 s) m. L5 k! P' c) P1 ^, d
9 S0 B/ l4 v9 i5 K- ^' a& ? local tempminphddy240=r(tomc)
8 E( }) b4 R0 O0 [$ |3 s restore
, c+ o6 E0 u5 b$ m }
9 {* K+ ], j3 Y2 V5 J. {" v9 ~ 2 U! f$ D7 Z* X+ O, O5 G* Q [
else {; p. U5 B; D' L5 ]* V4 M
restore
! u* ~+ V0 u: u/ {3 ~8 \ di "cannot find pminphddy240"
$ ?# Q' l8 J2 m$ [, v
" Z0 U x. \& Q* r! P, k. W# s
9 k$ z: o5 F( w3 u4 z sum dx240
2 Y z8 P+ O. Y8 z" b4 |" @! x local tempminphddy240=r(mean) & E! V7 E! t7 S
7 ?( j6 R" d! ~: b# }" ]$ ~ , P- L8 {! x* z! A: l" ^
}
5 J7 Z% Q+ b- z
. U1 u0 q& ?0 ]8 Y
! k/ [4 W# n, r$ b1 s9 h% a
, O$ Q$ `8 _" h0 a$ z6 Z
6 [, r2 v4 S! g
# _# h' V. {' k, p# I 8 O$ V6 O8 z: R3 D2 I5 g" O5 ?4 f
gen pminphddy240=`tempminphddy240' in 1
; ~, ]/ x& M: q8 A0 _$ u4 x7 f+ U) X7 W7 N
7 T+ B( P7 b) P1 k
7 h5 _8 {. n; L8 @- g, j" I *-------------ddy240pminp右侧低峰值 -----------------3 A- p2 E# M) N
preserve
; P- [6 R! K. c& K W% J" }% U9 j
keep if dx240>`tempminp'& g; {! i4 f; E( Q/ v4 v
- a1 c3 X C* X: J# p1 N keep if dx240<`tempmaxp'- `* t% b( C2 y. C/ V
+ Z3 u8 X. A7 _+ |) ?/ l
keep if ddy240<0) D$ n+ P3 K! D& ^, ]) t6 D0 v
& H8 ^3 ~. e2 P q/ d% }4 o4 \
gen temddy240=-ddy240+ _; W/ q) D7 ^
2 K7 F3 h) d+ e: ?8 T0 h count* |# l% m( l5 m! s
0 B5 P9 h; N2 I* {' ]8 n# y if r(N)>2 {
$ b$ g9 k8 p* L s : m3 k! [+ A1 ?/ g
pkexamine dx240 temddy240% V! F; s$ F7 L( t
. A, p. @8 Z4 Q8 t) _
local tempminplddy240=r(tomc)/ v/ F) E: _# \5 C" o, v# ?9 V
restore
; K+ L: {% A9 u* e+ |' i) s }# B- e5 u' D: |0 u: i J, X1 q
# v" {8 k* x4 i" K3 Z# W else {( a7 V' j4 ^( w
% S1 @1 c7 ~' u2 ?) Y
di "cannot find pminplddy240"
8 e6 J' F B3 S. O5 I4 r restore! i+ I5 `' U2 y( m1 [2 n L
9 K6 _4 X( f/ ^4 Z4 [7 I$ {0 Z sum dx2405 O# {- \" H0 k" v
local tempminplddy240=r(mean)
7 Z! r! J( \. Q2 k9 i5 h7 m 2 ?3 ~3 P4 ]# S. `; J8 K& N' v
/ v7 q- ]) z" w! k8 Q. M( m. U# B
}
) V4 d1 j! L, W/ B/ I0 ?) D$ a5 o
/ b( w4 g0 j! {. \5 T / K# P: X( f5 o3 ]5 x1 T/ \
, v6 a" p7 Z. J ; {; ?; X+ @0 x$ ]
. k5 S$ g* {9 x- N
gen pminplddy240=`tempminplddy240' in 1
4 _ B: Y* I) W+ M/ U. c' R + S/ R. i# p! r4 V* @2 _
*-------------ddy240pmaxp左侧高峰值 -------------------
2 m" v# T( F( K- @6 G3 U & c1 B8 p5 l) a
preserve
' U7 l+ n4 W1 I4 U& J 2 c+ q O" U0 h0 h! R
keep if dx240>`tempminp'
4 ~/ w3 A2 f; F% Q. ^( s% D3 X
; F$ t/ B. y3 r; E keep if dx240<`tempmaxp'; p# H/ ]3 |1 Z7 Z# L" c
) h6 P' }+ c2 @5 r4 ~* N9 u
keep if ddy240>0
5 u' F# ]0 V; i: w$ T; _2 A count
7 k% N( N# X2 |. _
4 t6 v Y. b1 ? if r(N)>2 {
' Z l* g( G( w+ s 0 @; n7 o. r' B5 S
pkexamine dx240 ddy240
/ J# l) @6 v0 q' R) V, |4 M0 Z1 k 2 W+ Q8 P; d& r) Q% v
local tempmaxphddy240=r(tomc)
" ?; t; o* V+ O9 P
" i5 B9 Q! ]8 G restore* K$ w( A4 _. X( W" H) j
}4 S6 Q& Y/ v/ O+ c& [4 E: q
& \' ^9 e2 ]8 y E else {% k* R8 l' I8 r" H. t4 I. ]* s$ q
( K0 |: v( T* A( O4 U5 K% w di "cannot find pmaxphddy240"( K7 W* @4 h/ w& ]
restore
1 y6 S2 P* f) x- S6 U8 S- Z9 `
6 p' ~1 _/ q5 ]3 J sum dx240
% i! b6 |6 Q+ i+ M8 E- K local tempmaxphddy240=r(mean)
' z- Y7 Y5 n0 u4 m9 ]% X8 E ) I, q" I6 Z2 \# e3 H# A% s
+ y8 R; [& \. d" H0 S7 Z }
/ @7 H+ W) B" b S7 } - l1 C- c7 i: G. s) l
& r" _8 O s1 P% _9 I( `
7 e& l7 U9 S% E4 K2 D, Y
1 y4 u8 G7 r0 v+ _2 W% i4 {2 ? # E; p7 ^- M% |
. P2 q$ j& {+ l% x: x8 o% @- J gen pmaxphddy240=`tempmaxphddy240' in 1
, b- b, a+ C7 [7 c& V 9 q- c5 r0 O5 c0 Q1 w& b
8 x8 w8 I; S3 D0 O' H *-------------ddy240pmaxp右侧低峰值 -------------------9 ^) ?; J- f' V+ L/ f: ^
; \" f& ]8 N9 b( M: r' k preserve
: }2 v8 t1 e f: s) y " [- Q0 s! M/ P3 r
keep if dx240>`tempmaxp'
: O% N- W$ \- C+ b
" Q* s% K w/ h5 H0 l1 U% k; S2 ~1 \ gen temddy240=-ddy240
4 D5 r# S! L. U9 \1 Z+ |
) m( u" I# v+ _) B: v5 m keep if temddy240>0
# [+ n6 y% f" z8 s$ ^6 N/ R( L 4 f8 J6 f4 c# J/ y/ J' _( G$ f w7 h! U
count
; _" r5 l3 ^1 l/ }, j/ B
/ B5 }+ w& X# d \* r3 s$ f if r(N)>2 {! Y$ }. o$ L2 v% z" a
6 Z% A9 f7 i- A& [+ m1 O$ I l
pkexamine dx240 temddy240+ X8 [ P" t' K1 k b
3 @6 m# S6 H7 n, A
local tempmaxplddy240=r(tomc) 4 a: {8 \; M3 }# Q4 A
restore
* R3 f" E& _/ [9 {- D1 y6 X }
) Z, A0 n* H- s9 }! v$ D, X
$ Y9 v6 }) w4 e$ v else {
6 I' h$ \! g5 y! p7 B7 B restore5 H. T+ `! \1 F* h: j0 B# A
di "cannot find pmaxlhddy240"
0 M6 R0 O% Y( e: h 6 n& H8 n& B/ s9 r2 D, h+ h
9 j, o# J- M( f4 w2 ]4 R7 @
sum dx240
# O, ^& r* |, z; M. L) M. H% Y; ^ local tempmaxplddy240=r(mean) in 1
1 Y8 u9 c) J) k9 L
1 e9 o8 N t! P" e : e4 a6 _- w+ I3 l# Y) v
}
2 s4 m+ z% ?3 A! O8 g 0 a! Q/ |- k0 R T! K+ K
# J. j4 n3 r# U$ R$ `
" J. y# N; N* G; [6 T5 z9 ? ! ~. T# m$ y0 ^
6 R7 c& C4 G& c 7 Y' W2 K( `7 M4 d' u6 T' ~, O9 p
gen pmaxplddy240=`tempmaxphddy240' in 19 |0 n! q" a3 Q8 X$ i/ C
2 x4 V# b6 p* d- i+ I: n+ M0 \
*-------------------------------------0 i4 q' p/ }, `* b' S. b
( G" u3 |; {" O! Y c: H; }; ` gen price5d=v5 in 1/209 G5 O. P+ Q0 r: l* B
& x9 ~! S& M# z+ ~5 F5 Q gen price5yy=_n in 1/202 _& ~& }9 z. {' Y" {5 M
6 S" p K6 C. T e, Y/ n) f% q& ~
gen price5y=price5yy*(dy240max-dy240min)/203 [5 e' |- t, {$ B* ]: @
; R- N% v8 p. W, W7 Z) F
*price5y &price5d; j" ?" Z @' w7 t
8 ~8 l; Z) l4 t; n, Z6 F9 G gen priceny=price5y in 1
" [2 Y+ I7 n ~. J/ t# q2 Y
5 Z. T* t5 f: Q gen pricen=v5 in 1
2 y) b' w- e( n, V$ T2 n2 W* j
- |; H9 p, m9 a/ W. |2 n& | 8 A) I: R1 c& ]
*priceny &pricen$ `/ S- A; n4 l7 ^
9 {( m0 L i" a2 }3 l
6 T( s: g1 y( X& q' s: S0 M$ _- k4 I *-------------------------graph------------------/ b7 g8 B7 v- j' N, L. f
5 t: z5 ]' W2 [& H$ ~$ y tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
8 H' Y1 W' J1 F' _1 `. e) k" ~' g
6 W9 S7 D( |: y+ h5 u+ Q6 ?* ---------可选项目----------------------
- u* c0 r( g) n' ]+ c8 s. V1 T*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))2 F0 S% G" W9 s. X
}
0 O `9 ^% l: u: A; ]9 r1 m, Bend: r/ H8 k5 c1 d6 ~. y& I8 a
|
|