|
|
maodeng 发表于 2013-1-28 13:13 ![]()
! [' s) h1 ]( n- A8 ]6 f8 x* C. hello 3002362 _; ~1 G# ]5 U, f4 A
statement out of context; O8 T8 \' ~ d# x
r(119); : T" F: H. T# a. |) P
抱歉,最近太忙了6 @% j8 o7 F0 w8 [8 X+ L
' ]. F+ H& V" A2 S
300236 我用下面的程序试过,没问题
' | j I9 _0 K, x" c* C X6 a' P! J0 z5 @
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试
% {7 L$ b0 W7 T% r6 i" \$ {5 V
+ G- }; X% K3 V3 }# [' Fcapture program drop hello
2 t* b: R$ b9 u3 b/ _
8 a8 y3 @2 r5 O% e' E% H) Bprogram hello+ g u0 d% Y2 ?! ^
- j- W3 [: X1 |. e$ Y( |0 e6 X
quietly {0 l/ A4 M8 A3 u, P9 v1 L2 B& @, p
/ k; U! P5 K R9 S l0 B, [
clear ~/ `- }, b: A* c! J5 X
9 N* e/ G- c& [! \3 p8 M
cd D:\stock\test\source7 h' r9 N; y! R- c$ k7 s+ }
$ Y6 V# [9 [' e6 N9 @* Z" q
insheet using `1'.txt
/ w& }8 @( x& T6 w, I+ I( t/ Y5 f6 E" N2 [5 K. w
keep if v5>0# p% b9 E8 f8 o& z- \( C
- Z6 x) }+ \# q6 v1 H
gen vt=_n& G! ?) [6 ~' \5 ^6 D, \
& X8 Q$ W: C, J& j g: O
tsset vt
; t' }, m5 F3 y [. b: Y) w; F3 c# J9 {
gen zf=D1.v5
5 y' p/ ~, d* \: b& }* O& V9 e+ a% d* d8 \$ |6 x9 r
gsort -v13 \, h! f+ ?0 w1 F- T. H4 J
2 O- q1 \; |- Q L# w9 A# B
gen avol=v7/v5
/ X) z. \) G# R7 T 5 I# O0 s7 q- g0 q
keep if avol>0
- r9 \0 q0 ~0 P: {& Q9 ?4 J" | 5 R7 M& Q+ P: n+ s T/ O% i
drop vt5 @" v/ V3 w T6 \/ N$ t
& l3 L! R N j8 M# `" D
gen vt=_n
$ _5 ^' D( z6 h- f# c
+ s$ C3 m& e; f4 i* b: Y+ q tsset vt2 G4 y3 w7 S7 c4 y' g
, l, [) f! L4 }( j7 I I
sum v5 [aw =avol]0 B; k2 m a6 J
: m$ F; u" G- o& q$ F( ] gen amean=r(mean) in 1% F" B: S+ Z, n- j
% b$ D2 l' V5 u& y) `" {0 E8 o * 总加权平均值 amean
6 F/ p4 u7 r" |- {, R( V4 {% u
4 d5 ~$ D$ ]9 h' {2 h
: M' F) Y i( B+ q keep in 1/240
8 Z7 ?+ E3 k: h. e2 e# V5 z- n5 } @9 E5 C1 c; W
sum v5 [aw =avol]
8 r% i) L& L {* B7 [, V; ]! r8 w, m" W& P5 N& z6 `1 J( S+ E% L2 g' h1 {
gen mean240=r(mean) in 1: m7 o% U* g+ }- d: [9 N5 _( J
7 \7 `$ O$ f% r; P* c; {* L8 q, t' U *240加权平均值 mean240% [3 ^# a) a9 }% E& q# M$ f
% W# q- F* z+ C' ], f set obs 500
3 v7 k8 I8 q9 q' [# x( I' @1 W # i1 \' l$ ] D( h. A
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
5 o& H4 [4 u7 N# w: h ' @: i- H7 w3 D. b) H" ?' U
*240 kdensity(dx240 dy240)) l4 J- J2 u; @4 e
! [- @1 S. O! t: d+ } sum dy240$ s4 T; N" u$ L6 F, ^. R3 F
' q( E5 Z6 n0 q7 |8 c: W- o gen yxis=r(max) in 14 U- Y0 _- O6 P" i: V8 ?: ]3 O1 y
$ C8 b2 Q4 ` G$ E" A' B gen yxis2=yxis/25 h% ^% u6 m! Q0 o& A
& b+ C T" L- C8 ~8 U& F% H, B" E
*yxis
$ _( X* \7 I. q/ l: [ # T7 z9 ]/ y ], x; u& a
gen dy240max=r(max) r0 `) C! a8 x/ |
# c9 s( W! g+ W" A( F% g; c
gen dy240minp=r(min)
# K. F* I9 n4 v. n# K0 ~
/ q- ]. F% \9 Z! M n/ W gen vtt=_n& h$ k! r h& l8 {
. \9 v8 Z" a. \5 a: F# w7 H+ c1 V; X; j tsset vtt
' l1 w& u3 }! t( f2 z* s7 h4 v( w5 ?, o5 y& f
gen ddy240=D1.dy240/D1.dx240
# l+ B" x, ]- m/ A- {
' I2 G; c7 @8 { n: \ sum ddy240
7 s% K1 s' g) d% o c2 p1 t0 t, j, }
* f/ {: _4 F) m gen ddy240max=r(max), l/ j& l" E5 d ?
7 |. p8 R3 ^' [. n( K3 B
gen ddy240min=r(min)
) E" y# b: J/ S/ X/ ] ) d$ f. \/ c, l0 W) e& T+ n6 g
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min). ]! C& `$ i- H$ ^3 r! [
% S$ d }- h+ e, {( Q" x
sum ddy240g
6 a/ n0 J' I# H) r) ^ e# G
3 r' m+ a/ |" U! P& m5 Z0 V+ K gen yxis3=r(min) in 1
" F9 r, V# K2 a
8 R4 o* t2 d8 N" T. s gen yxis4=0 in 14 U/ z2 ]4 a" \: c! L" |
g( ]5 y9 f9 q y$ K3 p *ddy240g
3 k) t/ n0 W, p3 M; Q9 [ % B7 z9 M7 j" a/ c0 j: E
/ i/ T+ S/ M) T8 d
preserve ) f$ Q5 I# y3 c6 m( M. b
; L9 T+ x! ^$ p8 @: G, Z2 ~* D( C
sum v5 [aw =avol]0 X, e, \- K y8 W1 o+ t
4 e6 U0 X2 \0 p. K' S' }+ b3 f keep if dx240<r(mean)4 r# K" I* s' {+ v( c
, d9 j; q* v- Q sum ddy2406 _, o& f8 v2 C! `: E8 F/ N0 Z
0 [# {: Q& y0 v4 ]$ s
if r(min)<0 {
' A7 Z; |3 c& J4 o) _& |: J
9 t/ J. }( R+ z% ?3 o$ A/ G4 B keep if ddy240<=0
* V* d* \4 {/ M/ S0 a
# k8 |* }1 v: w' x/ b" s8 {) w count0 ~1 l5 K3 W9 X8 r
$ f0 Q. r0 ~# m( f6 O9 e4 z if r(N)>2 {6 Y. c7 U! O# h! j
0 w+ g5 ^( ^3 n6 J' W5 u
pkexamine dx240 dy240, F2 P. h0 `: k5 ^
2 l: Y. ?( ]9 i1 ?: ~3 A local tempminp=r(tomc)% R8 y/ F$ U* y0 a1 `2 r8 a, I
restore
! j( z) M6 U, q! H }
) G& D7 z& |1 Z5 U! e* r6 m& E 6 [$ X3 ?! ^/ y9 n4 q
else {8 \& j5 m, f) X: Y. n
; x! ~1 E& D) D2 `, U6 O/ x4 h% q di "cannot find minp"8 R- ?( [9 h2 @) O8 s# f) h
, A4 z/ P! K4 M8 U% W6 m restore
- a4 {) `9 t2 O" i/ s0 Q sum dx240
* t; v2 t" D4 o" g, z7 P+ e local tempminp=r(mean)4 q7 v; s* O# f
/ g/ p4 p" ?. r4 q, k; M }
' G W0 k+ D" a }. Y; \2 h O. y8 k4 M* Z& \
else {
" G% M( X, v$ D& ^ 3 b/ g {, Y/ G3 z4 i! G
keep if ddy240<=r(min)
6 ` {0 h* j& x& @; c- D" S0 ?
/ A _9 J& D: A$ B0 ^* X9 v8 ` sum dx240
3 d, x3 R6 u6 W* M9 e
2 @' |* q; W: b5 C$ _9 j local tempminp=r(min)1 \7 c: Q1 u8 f" Z' c( s
restore
8 B' h9 C; T+ ?) |) E: [: I$ r' y }
R/ E. J, l, J) |/ b+ z$ N9 n& {6 u
" L. T: O! s$ x. f, r) G
4 e- e' @; G* o& ]+ y6 P8 e* m4 S3 g7 S+ R4 h) @ M( W
gen minp=`tempminp' in 1 c f I ?- V9 c' z3 e/ @( ^
*240 minp
- J* s! _$ A/ ~* h% i
9 L A; h! R) m* U, c! }
4 u! e3 t; }+ t 3 l) I7 I9 l' i- v" p" H
preserve 6 y1 M) Z9 x7 ^; X) J' ?7 t5 S& V/ N- {
5 Q# G7 Q ]) {; Y# _9 J+ l7 l
sum v5 [aw =avol]6 s: J, h4 u( C
8 ^# O- A; s _: y6 B keep if dx240>r(mean)
1 ?7 E6 B: Q! Q4 E
1 t. g) z4 v0 X sum ddy240
9 t3 J$ C0 s# y
% N1 ^& u$ I8 t if r(max)>0 {- c; k2 v9 k. i3 N* r; P& ?
0 o6 v! Y/ R! o3 g
keep if ddy240>=0
8 y! i+ P* e: K4 h, l
{2 f4 V' K" y* F. k2 v: i count) w/ R: Z, d# C0 g& }, b
) n2 s! U+ F0 S) _ if r(N)>2 {! T" i5 {2 z8 X4 w
2 g7 w9 x" ] P9 E/ U* A# w pkexamine dx240 dy240
( D; N$ _' e4 U! z* K2 v6 d: u " \1 E& s% v' ~
local tempmaxp=r(tomc) 9 T7 C6 S o1 A& B
restore J4 J, O. o$ ~- y
}
0 S5 D& a' o/ M, v* U& G
& L3 f; i/ ]& ^ ; J& w5 s6 R5 U; \2 D6 p- n* M: C
else {& H# J' e4 U4 R" o- V
restore . c, `: @; O" P% { J% U8 T
di "cannot find maxp"# @1 a/ s2 D" F C" J3 Q8 P2 b$ B4 Z
& X% V! F2 F: S. \
' p+ T/ _- H9 T' w' R7 @/ I/ J
sum dx240/ z0 s9 n9 X% V# Q3 j
local tempmaxp=r(mean)3 j. o, J# m# M3 V: @4 p9 l6 Y
9 {! V$ t3 h' R4 u$ a9 R
}8 i" |. I2 m9 c& W. P2 L
: f/ X0 z7 I$ j( f
}
: p. _2 s. k' ^/ C6 v* J
" J* q1 T& X i3 q6 d, ? else {& Z, u: r$ @' a! k, M1 [
! N( H" w' L0 L- m
keep if ddy240>=r(max)9 ~. c+ V4 W8 F `
' S, C7 L: v/ d8 ~# w7 o sum dx2402 a3 U! b( C; Z' O, U2 P
1 G4 j8 _* l; J; c' n( ?: h6 l local tempmaxp=r(max) ' Y0 S3 H3 @" k5 S3 }. q2 R8 D3 O
restore 0 u9 t- M8 Q; Q) r
}% W$ ^7 ~1 C0 V8 m1 Z2 i
1 W C, w! o/ n2 G
5 A0 B5 V- @, p7 r7 O
" _: W& p: j+ U+ _1 w% o; M
5 i( z! m0 t. x5 K' Q6 \1 ` gen maxp=`tempmaxp' in 1+ v3 D) v, D% u1 a0 b
& w( D& m) p7 S5 ^8 Z( q" t *240maxp
) ]+ H% N7 ~# H) p0 d 1 }9 `$ t e6 P! ~) Q8 c3 Y
7 M7 P2 J. x; p P9 s
*-------------ddy240pminp左侧高峰值-----
. A* n$ n$ E& d6 D0 C! t
: J8 t# k! M5 U% w3 k preserve
6 V0 ]2 ]: ^9 u- X) p5 {. o! ? 4 ~9 L _+ y* _% K* h
keep if dx240<`tempminp'
; U" n# w; F! u' r$ q3 \' g 3 y+ ^1 t: O* g) s# V N& a
keep if ddy240>0
' Z& o2 G0 U8 m8 V8 S
) u8 H( a# D- J {* ? count& d8 o+ l# C' n/ ?$ B
% S( w+ X- _; b* j if r(N)>2 {
( E: m. C) g, ^2 ~5 L
( c/ o3 a9 G! X pkexamine dx240 ddy240
0 o' w4 x2 z# e
J$ L6 O ]( S local tempminphddy240=r(tomc)
0 z- V( \ ^- p: O% Q- W restore0 j/ {" d8 Q* G- O6 I( A
}
& ?8 g$ M, G4 c+ k9 p( t _. `7 u8 e$ x9 R
else {
+ s5 y, L% L, o restore % W: V2 A; Y5 L9 P
di "cannot find pminphddy240"7 i+ t4 Y& I. ^0 D
5 ^3 K1 z6 O- @9 G& m
8 t1 c# |4 B% _0 W
sum dx240
8 y! n8 s0 v6 e" X8 q& o local tempminphddy240=r(mean) . w( k% x/ N3 B
6 E# B( B$ r0 g* Z. ~) j6 c
) }7 T5 R9 Z8 D2 A
}- d, n8 |3 ?1 n i* F; X1 Y; [7 a# B
' H0 r* ?# ?6 v* X; m
: |9 C# g& ?5 [, p0 c
' n, I% [. t, Z0 B4 Q* a/ ?
4 C5 B) b3 D0 i
. Q+ w! _7 a5 }4 l
- G B& w. E6 M gen pminphddy240=`tempminphddy240' in 17 x/ h; E; O2 o8 z# b2 |( j6 I* E
: K) I4 ^7 W' c4 c0 J
- O7 G2 z8 y2 U1 a2 X2 T2 `+ m *-------------ddy240pminp右侧低峰值 -----------------/ S2 a/ |$ K6 z0 }9 z% Y3 w# K
preserve
L6 p6 E1 e! ^" u+ u . C; r; {* k0 n' t
keep if dx240>`tempminp'
! W; i# d) `8 r5 S) S! W; {7 W
) W# r. S {- D5 Q# B keep if dx240<`tempmaxp'+ d3 u0 R6 ]1 d& \# J6 ~
& s! m- [: O# v0 p2 h+ S* l keep if ddy240<07 a& P/ T! b& R+ u& x8 B5 C
. h' y7 t1 n* e0 r) ^
gen temddy240=-ddy2408 f7 Y) k5 \2 w5 @/ Y
# d- d, V& T; S, \- R/ v1 O( U& v
count$ Y0 ^1 J) W, z6 y4 R8 d
! N; g- N; A$ K3 l7 {8 V; V if r(N)>2 {8 m) i: S+ C: f3 ?' r
' Q1 ]. a0 G" Q: ?% S/ [ pkexamine dx240 temddy240
" t, D% L& A4 U0 U , R" U- o$ v7 n5 B
local tempminplddy240=r(tomc)( l+ D! `* l& g: u+ ?3 S
restore
8 R0 O1 M2 `- r6 z) E, V2 B* R }" f$ r6 s" q% c: `6 y+ P$ W) z8 ]! n# S
. {* h0 H1 d, O7 T* s2 ]4 D9 V8 a e
else {$ ~- q6 }' W u! t/ Q7 C% g/ `( f
. }& V7 p8 W9 T di "cannot find pminplddy240"
' H U; J! ]# _' L( { restore
& h* t, M7 O) o7 B6 w1 x0 H. l& | 4 y) k& b5 E1 ?
sum dx240
3 x" w) j7 @) |9 [7 x1 ]2 L1 K local tempminplddy240=r(mean)
- z) @% h' Z1 J3 E% }* E# ^; A, Y
; W* P( n$ }/ {4 w' y
2 ^+ w, {% }! [- b }
% v$ ^' a) x7 u& {1 J7 ^
D6 c* P1 I$ v& E6 r
0 C. T8 V5 w+ r
$ q! T1 n* B& o$ {
2 v' z$ d+ f {3 U0 J2 U
7 \5 h: b; r+ w3 D+ l gen pminplddy240=`tempminplddy240' in 1
+ D" u+ h8 e4 ~; s+ X# O 4 R# k6 p3 x4 V4 e$ d8 M( c7 C; F
*-------------ddy240pmaxp左侧高峰值 -------------------: B% ]- R7 h' P5 o; |' \1 F$ I
0 M; t- U, k" z* Y6 m& A5 \/ o
preserve $ c' a6 s9 o8 E: y5 D) Y5 t
$ C% r/ ^0 _9 f/ M8 p$ k keep if dx240>`tempminp'
% k0 n, u: {- b2 U
/ y+ S. b( p# }7 l2 N8 R1 Q keep if dx240<`tempmaxp'8 l; Q/ G$ _1 y; R& M
- g3 H, o' A' L+ a+ l8 F
keep if ddy240>0
$ V5 \- Z( @; k0 ]9 w$ D/ @8 D count1 y) E, c6 {) z6 G/ z2 t6 \
5 |$ E4 D8 I& [ v5 z- x
if r(N)>2 {: ^% _3 h( w9 s& w
5 I7 D3 z1 x" x: @* X) J$ P$ H pkexamine dx240 ddy240: L; y. a% x# }5 y+ o/ \4 z
7 ]" c9 m* b k. ~2 f7 k' J" ^: q local tempmaxphddy240=r(tomc)
! _/ \. {7 T' L" s$ y
- G/ _( S# N2 W: r; ?( y restore
5 ]5 c" j) F% ?$ ^* Y% Q0 A* e }' B* J. d- Y: M
+ R" ]' Q7 M3 r8 u" D else {* J6 W. b' I, s! M+ n
7 i' a [) ]3 @( t8 V; f
di "cannot find pmaxphddy240"+ k9 R3 ?9 H% p% ]8 @
restore9 q( Q9 R; j) z! o
9 D$ U0 s0 @9 `3 b
sum dx240
, o: P/ _, @& J. k/ N local tempmaxphddy240=r(mean)
6 |9 q# {* @4 x4 A+ R4 w & n" E j( z- R# ^
9 Q, ?: o1 B& x0 v }( v' V' J4 M$ o6 X8 Z
+ N' S! |+ U3 A
/ D/ I3 I4 p- u3 a# C; t" v
! E2 R& g5 w Z 1 f5 o( q7 u# [* G. I% i* j) S
% P0 X6 A: ~6 s7 B8 U7 |" `, K ; k1 j, b. w- ]
gen pmaxphddy240=`tempmaxphddy240' in 1
) s) X( N# T+ @% L' g7 ]" ?: l
A, m; S6 s3 o& t6 Q1 Z/ B8 B: T
1 G7 H$ N1 a( b *-------------ddy240pmaxp右侧低峰值 -------------------
& C8 ?- t/ K- T& \$ W ' t& P. W# Z ]# N
preserve
, r* p- n1 U; s, l! u& n . V6 R, a. _6 t
keep if dx240>`tempmaxp'
8 L3 z+ q2 y% c! b: b V, {2 ]& H' {5 y
gen temddy240=-ddy2405 O4 ?! C/ ^( n, Z6 V
. Y, G0 Z7 c! `, @9 P P* d, y keep if temddy240>0
4 ~& L4 N6 m7 f) R% n! b & ]( U" L* H# g% Y7 H
count
% o: V5 j" x$ S. W
& o j: h3 q g* F* n; \% o if r(N)>2 {$ y) {2 V9 U. C
! f8 S3 p z( t! p
pkexamine dx240 temddy240* h+ @9 i0 r O5 A/ m$ {
5 t1 a* W; Q' X" G4 D local tempmaxplddy240=r(tomc)
7 U- W% @ V0 t+ N8 u restore
6 }3 s' C: C. ^7 {3 M4 m- { }
/ h; S) [. H: U! u
+ V \' W( s* q' } else {9 x3 P, K9 W: n V" J0 ?" ~, |
restore+ y# f- ~. x. f& h) w
di "cannot find pmaxlhddy240"' w! P# o" h. U$ ~
9 o1 p z! A& k* W
5 A1 j# |% L+ Z6 Z
sum dx240
5 N+ r1 p4 A6 s4 w0 r( P! T' i4 B local tempmaxplddy240=r(mean) in 1( g! r" O# k2 {0 [5 q0 d) c, C- n, M
4 n3 {/ m% p' R" Z! ]! f
- x- p# } E& \: X* j }) x: e5 }0 v* k+ m8 F `9 h0 I9 f
* T4 l# } q* Z0 X0 |9 s
3 a' s" z( f3 o; ?' L/ S o& G # @9 D' q8 w) q8 L8 y
6 C. N/ ^' {6 _; H6 w8 o
! R, a8 g O# l# T7 P+ Q% T
$ X; J% _% G5 C% t4 E4 m( w/ q( B; |9 |
gen pmaxplddy240=`tempmaxphddy240' in 1( l; x( y+ s T4 W
5 v, ^ W# [% x6 R9 {. x5 \% h8 {7 W *-------------------------------------7 o" |/ G! T* e" P7 D
3 O- }( I+ K; Z1 ?6 C+ Y% C
gen price5d=v5 in 1/20
: f: U2 ?8 I: B$ v `: a ( p0 s1 o& U/ s# n+ j2 O9 s8 q
gen price5yy=_n in 1/20! g" s2 {3 m9 f7 F, F: h' Y
; H6 S9 x9 h* B) ^; ^' c% |
gen price5y=price5yy*(dy240max-dy240min)/20
; j% L1 J5 i5 A0 Q3 F0 ? $ [; ~$ [1 V( S2 i; i% P
*price5y &price5d
, K8 y/ q0 G3 o! r p B) Z* c
7 |: ~' n0 S* C, q gen priceny=price5y in 1
! g, c, g+ b+ o0 S! q ] ' I @/ H: `, ?$ t
gen pricen=v5 in 1% q8 x/ ^% k# P0 O
; }0 b& f& c' M 5 [9 x. E$ w+ E8 V% Y) t4 V
*priceny &pricen: G3 a$ `6 p* j
) y9 h" C b. p$ k8 w2 }
5 w6 n8 D* j( o
*-------------------------graph------------------; I, [! u$ t2 M
; U# a% T0 p8 a. E; M5 [
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)
: e# p0 q7 w v0 v+ K. P. Z* q% X) D+ w1 i5 U: ] t
* ---------可选项目----------------------% L B: G7 S" y% K W/ C
*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
5 ?: Q: Q" @7 T+ r$ n' p}
# Z0 a9 g# Y. m9 N) K3 o! Aend
* Y0 A" E2 U" v7 ?3 M) Y |
|