|
maodeng 发表于 2013-1-28 13:13 ![]()
) u5 d( D, X) [" E! g! v1 D. hello 300236 n; K. C, b+ D- R
statement out of context" S4 x) ], b. _( x: g" F, Q/ j0 T) _
r(119);
! k f! E. e( b. Q2 B, O抱歉,最近太忙了) z, f- k m; \4 Y. w% v
7 }4 t; h! L( v2 J: g% v9 w
300236 我用下面的程序试过,没问题4 U5 i/ n+ O% j8 F9 h
: Q4 S* v* b- m0 T, n
你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试6 @, p% m- T/ | @
6 }& L: A9 M1 s) L2 s: P1 J
capture program drop hello
$ ^& ]* p b2 c. b4 `) O7 b% Z6 c- D+ f) x' F. s" x! s) k% {
program hello
) R# k$ E) ?9 v8 `9 K6 I; O% i7 ^" }# l! l8 R
quietly {
$ m F3 t y7 M4 ~2 s% I i
* x5 R. n. P2 E# Z( s$ mclear6 U+ |" i& w$ U$ @
: o1 l! ^) Q) }4 u g8 {2 kcd D:\stock\test\source
7 Z, I9 u, R0 O
, k. N3 l; \, f7 h3 m/ Cinsheet using `1'.txt9 ? ^; R. x# P; d) s% o7 _3 h1 [; J6 l/ q
% i9 q' p# ?7 D) f7 U keep if v5>0. p- Q; |: w O5 ^3 ^7 W
/ {7 c4 C2 I/ B# b' k) q2 o gen vt=_n. G; i' V1 {: i. M- u9 y6 z
7 o+ l% \9 Q e) A) s
tsset vt
; [8 U& Y' g" a
: t, g3 Y( L: [( l$ W# a o& _ gen zf=D1.v5$ N. H1 F& |: W% F6 ^# U
5 j; g: a: X. g gsort -v1
; L5 \0 K" Z* B }* v3 k, X0 K$ O8 ]! z8 V9 q' O4 n5 L* a
gen avol=v7/v5, s6 w/ S; N0 a
* \$ I4 z; K8 Q, }' t1 w+ S- u
keep if avol>0
, p: u4 d' A0 q# k& L6 c& j* y: t! X ( ]( a( |: q# [; q1 N
drop vt) [( c# ^4 D3 D! g+ h' a! d
( T1 P. A7 f, r, l3 X gen vt=_n
. W# U2 ?+ e2 u W9 `! B3 s4 V , X6 n( ~% ~8 N5 ^+ B# {
tsset vt) R& V I A8 k
# }/ \, r; S0 U% {" F, P; Q
sum v5 [aw =avol]+ ]+ W- ^) j. ^" k
. E5 v$ F& _5 P$ U2 n# o gen amean=r(mean) in 16 u% k- `+ n5 t0 |$ h% B
( T! l( x% ^) D* l# W- E t * 总加权平均值 amean
1 r6 }1 i" k; R( [. J, e & i2 x$ J: e7 v
, G3 E6 l/ k. a2 ]8 c# ^5 z
keep in 1/240
$ S% h' |: }* o, P! q% h" d
8 \0 R. p! ~4 \6 S6 M( E. t sum v5 [aw =avol]+ _, x5 ?7 E6 B
! |" C6 o; v6 G- h+ t( h6 [6 K/ L
gen mean240=r(mean) in 1
3 P5 V2 r; u8 _( c N V' p7 v & L; L% q" ^8 u$ X6 M/ |: j
*240加权平均值 mean240
/ t; c. c9 g7 O( Z; x% Q
Z9 O& K/ [; V- [' \9 d, ~7 n set obs 500
; \/ I" n* x2 t9 w/ R 3 R! T8 R" G9 R' j9 H
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
! \- w2 {- i! m' n$ Q/ L
- E2 O0 D! d2 K, U *240 kdensity(dx240 dy240)
' I8 I% U q- z( M2 t% T , z f1 J+ |% p( Z. s2 [
sum dy240
; K* [- V2 ?; f5 X* ] m, S4 P1 j; X' [+ z: B0 r
gen yxis=r(max) in 1: d1 c3 M" O# Z+ ^0 v5 X
$ N6 _9 S8 Q; E2 N# t9 ~* d+ Y6 U gen yxis2=yxis/2/ r z! F" T6 ~7 r, p
( X/ L- j! t0 ? v8 z' k
*yxis; a8 E. }! s& V4 M" q
9 a* G0 \& b* r4 G gen dy240max=r(max)7 P0 v$ d$ m7 y' Q
! K _8 J- y0 _. O4 ~. F
gen dy240minp=r(min)
, b+ V$ _, b* d7 o2 }
~ K1 B, L9 | gen vtt=_n
; x- ?6 V. ?; Q% H9 o r
! }; ^+ a- C; @* p b m tsset vtt, I9 m7 l V' F5 m0 x
: U- u2 ?9 M) l: H! t8 X
gen ddy240=D1.dy240/D1.dx240
4 j* j7 D2 `: N$ T+ y# l $ o/ Q3 V& B# G8 w5 E- d
sum ddy240
% ?. ?* }$ W& I% B3 U & Z/ _9 r6 I2 n5 G# y9 P+ _
gen ddy240max=r(max)$ ]$ P4 J% ^1 d' V M
2 g0 e& d9 K" c
gen ddy240min=r(min)1 D) j) `! d w& t
% N5 ?8 r$ X U0 h3 P
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min): h0 p2 }% Q7 n+ S" X1 i
6 q; {& N* y) f) {% z sum ddy240g
/ G4 F) X5 p0 E( M" F& c
" h2 C' j( W$ D gen yxis3=r(min) in 1
, I% M! P/ V/ K
9 Q0 \3 n4 s+ Z" E$ L& B gen yxis4=0 in 19 l$ h% D- ]6 V9 d# f j9 v
6 q: Y; m g5 P- A- z( e7 n *ddy240g * t0 \9 F& j0 X3 O4 G. S/ q
7 }0 t+ p5 l* D* r T
7 A- F u3 B1 O1 t8 ], Q preserve
7 {; N# A' L2 t* [5 ?
# t4 o, s2 R2 J$ } sum v5 [aw =avol]
; O- t" j+ x7 A8 B& K! r/ m2 W
+ `2 L8 w6 T) x* A keep if dx240<r(mean)
h$ b5 o5 L: W; q% ^ " U' U6 Q3 p5 C& \
sum ddy240* j8 t6 j8 E5 e+ V) J- i3 F# F
+ L5 |) P3 N# R. K7 m0 \
if r(min)<0 {
. `5 y: d, `3 J% v" [7 ^ a
% a% z1 _1 n+ D( V! G1 Z keep if ddy240<=0' W4 ?7 E, d. g7 l. c
- N8 m" K' H1 C, { count, L; L" o9 _/ E& s+ M, v3 v
" j( t% {' I0 t6 `* A1 L
if r(N)>2 {
. g( Z! U4 c6 Z7 P* w1 ^
) C2 `9 C7 k: j% H' \ pkexamine dx240 dy240
/ M* B+ \ N7 y! V
9 {( Q9 c* ~2 v' z/ a5 e2 r/ P: N local tempminp=r(tomc)
5 g3 q9 C8 w: f5 N0 Y restore - J6 x( @- K. o0 d5 [
}
' o5 u9 m2 |( u% O! U, B5 C* L
! _+ L; J2 U5 O+ o' x$ r+ k+ V else {( b( H! p6 U0 ^3 R: ^; [+ u" X, L2 [. I3 c
% h8 V! G1 G2 X: _
di "cannot find minp"
1 f& {& n: X+ f9 d9 u- M + a# v, _% r, U+ s( U! W+ u3 q
restore
; D. ^8 n! s: N/ }2 C o9 @$ l, v& A sum dx240! m# L1 l9 ?8 E- I
local tempminp=r(mean)
3 e; K+ U( e; ?, B; l t 4 I/ p' [. v. n0 E# S& a$ g4 U6 @
}
6 Q$ y/ Q8 f& `3 o2 v& I1 J }
$ s0 @# _. _; t2 o* @" T( ` else {$ J- b! C$ n# N9 u" j( ?
) h9 ^7 d" @9 _ [
keep if ddy240<=r(min) u4 l0 {" J$ c. w
5 @2 M5 p+ h- _6 y- b. t0 _3 l" j
sum dx240( S7 Z+ u/ z# n+ w& h1 j# m% G
" z; i) ?- M! ], d* C3 \ s
local tempminp=r(min); P3 O, J. ~# ~4 n \3 Z
restore ; @9 [1 F, |7 |
}; ]7 n2 _% r; k
$ k ?/ [) U, x, c( f) d
4 M# L4 H4 C0 \% \0 q
5 c. a7 H2 V3 C gen minp=`tempminp' in 1
5 r9 y- p' h c- n* s *240 minp& D o9 N% ~/ A$ O# k
0 R8 F3 J. d" i/ |& _& B- f8 x5 a X
8 T) T; @$ s6 [, ^# D) ?# z; _ preserve 3 D# u# K; S) i
1 } @: S% B2 G, A: X) o
sum v5 [aw =avol]
3 S+ J3 [ T6 v$ U' `
6 x+ s. g6 o9 p d4 D" ? keep if dx240>r(mean)
4 j! b$ ?3 D' {8 L* ^# a; F 5 X" N6 E1 r$ B& C; q7 M+ G
sum ddy240
4 \4 Q+ ?; e6 N5 Z: ?- [( V0 K0 T # J" S% C* ?% u; G5 U
if r(max)>0 {
% d" T& v4 v7 D/ ]
( r' }- W2 Z. A* `1 L% ^) V$ d keep if ddy240>=0
( A/ {! H+ I, A2 j
: r. ]/ v5 I% @3 y7 r$ D count4 l" Y9 f, {3 z. {/ m9 B
3 S( `4 h/ X7 ]; H if r(N)>2 {
& u1 V, [ M5 K ! E) n7 e9 ~) \+ a1 J
pkexamine dx240 dy240; c+ f& K: d9 {8 ?! p
- V% Y' Z C3 V9 ~ local tempmaxp=r(tomc) . V) k( x% u& ^2 g; a3 P; c
restore 0 P5 `# @4 v z6 G. S, O8 O
}
9 n) G# n8 x) Y/ w Y; S+ G / v& s$ O- I6 `( E* ~! ~
K- s) k/ |% z1 j5 R
else {
, o8 A$ ^* ?& t1 \* Q1 R( K! g! I6 D& G restore 4 I, l/ M0 B# F/ U
di "cannot find maxp"& `$ V; y. `0 w! x2 F
9 X+ l9 M& H+ f% J! O5 h" y
2 f/ ?# F9 s6 D- ~, @
sum dx240
5 h" o1 ^5 L: V local tempmaxp=r(mean)
3 |1 ~* o5 l2 J0 |' | 5 b6 G, L5 h6 ^; e
}
4 f9 h9 S/ e/ t9 i" j; R4 G+ c$ a
/ z0 V+ J0 e" |8 V% ~5 x: C }% O3 K$ @9 v- q% Z
- ?5 R$ j5 X( y& f$ Z1 V5 ?/ K else {
. D) t' m( s5 L; C! d
|3 v& n1 U0 b. c2 i% ? keep if ddy240>=r(max); p0 @& b' X: [/ ]5 e& d
3 d7 e" |, D" ?& S; _$ | sum dx240
6 J/ \( P) j9 |' q4 x# h2 L& ]
( F) ?6 u2 ~/ r1 |3 F local tempmaxp=r(max) 5 c7 z% Q* ?/ N9 y
restore
! R) a$ B- _" } ]4 O1 i' K7 l }
) h; l+ b1 k. |5 Z9 y & O0 `3 z$ @9 H1 I/ _1 C* g
% u6 X* c" `3 m+ ?" ~; G* I + z/ t! ^: y; f! y
; ]! z2 \3 E$ r6 `, \
gen maxp=`tempmaxp' in 1' J2 `. W# }# K# P
/ |4 h" W9 c/ j1 p *240maxp
. o5 Y/ T5 F! m6 i# r$ r/ U5 e1 h9 k ( i0 s% W7 M7 V# U/ X
' h% J: h/ K d" k" O *-------------ddy240pminp左侧高峰值-----0 d% O8 X- m% [8 c$ U# ~$ {- d
% ]" M* l* s2 ~: i3 c
preserve
; l. \' z+ s& A/ v5 j
; b) |2 N/ }5 \ U, ~, i, T' V0 q keep if dx240<`tempminp'
+ I' A* @+ z$ T5 `
' W' B0 |5 h0 M# U8 C- [ keep if ddy240>0/ o' [6 \% H. x# B0 F5 O
# ~/ r3 S3 N- T. t count
4 d: k6 K; O* c: E+ v $ E' x9 {3 ]6 k9 _! i4 a
if r(N)>2 {
K2 j0 h; A/ H- d4 K" \ ! \2 q: ~ t$ X$ u% Z4 B& s
pkexamine dx240 ddy240% b1 a' c3 g2 j+ ^0 A3 s1 s0 Y
0 T) d, I8 m1 {( W+ T( g
local tempminphddy240=r(tomc)
' K4 _ M7 n1 D3 d restore6 D5 P9 i, i* z/ i
}3 N; `3 x7 }2 G$ t
; k8 A2 m7 j# ~! ?
else {
0 Y ]2 ?" R: i( t9 z( o' n restore 6 s+ S0 g: \, S8 ~# V; [
di "cannot find pminphddy240", r8 \3 {, [- n/ M1 u3 P4 [
2 i# T, a9 r) k6 m' n
- U+ C8 f. V) P, R. n5 g# f- N
sum dx240
8 n$ \8 S% F8 g7 t! R local tempminphddy240=r(mean)
! H/ ` N8 u8 g8 u0 Q+ y3 \0 {5 A , C' f: C8 ?- b G, E/ n
; I1 `) P0 l6 o* i }, u$ J% S) k0 q" O7 V
; Y! x, e8 N- u5 q* i8 \2 L
$ @* Y' O n9 G Q( J, S3 }/ S: A9 D+ D
9 |$ g& R: H1 V4 s
: G- P" C# d( P- H
4 f2 f E' q9 a \7 H* G gen pminphddy240=`tempminphddy240' in 1, V3 ]6 E: q: s2 Q# ]
- U7 {# J) f/ Q; I 0 Y7 }6 X$ d. A1 \* y" X
*-------------ddy240pminp右侧低峰值 -----------------
/ n( G0 ]- _1 S8 k preserve
5 E- G+ Y$ H( B. o& {) U }0 v 3 o- q" d: C# M- J" x
keep if dx240>`tempminp'
% l8 w& b1 X9 v7 F4 ?4 W0 z$ m
7 h! Z1 G. }+ w4 Z keep if dx240<`tempmaxp'; N9 Y+ y, d" C/ l8 P. T) ]0 R$ U
- x- u; d9 z9 C0 W. ~$ X! @6 f" f keep if ddy240<0
1 i% {2 C; ^' a# M! N" l
# B0 v# s0 @( d* l- I) d+ c: y) D, P gen temddy240=-ddy2407 b, L% p1 p. V$ [( K* ?8 H
7 y% l, h( h, s/ l1 E- t9 Q Q
count
6 N8 S9 G" l0 o, M) F2 i % p) I+ O: K; E7 Q+ \; Q
if r(N)>2 {7 n+ w. ^7 {4 R( s( i+ w
2 s# ~1 R; O8 N4 a7 E: ^3 _
pkexamine dx240 temddy2405 L1 S" d& o( u7 ]9 d. f
8 r( K4 J; ^% ~/ a, \, U
local tempminplddy240=r(tomc)
, r% e5 q* k) [: Z1 Q3 L2 o restore
% \( e f" P P2 Y2 E, W }
( _1 g2 H1 `! p% d7 l
L9 i3 s/ r! w6 d9 d1 A else {1 M& j7 q: d5 A- ~( A
6 M- _0 _) k0 b9 E( X di "cannot find pminplddy240"; S" R! @8 j. j! d; \0 u5 q
restore
8 n. `. C/ F2 e; N: s4 K. P 6 q+ g* W/ }- R
sum dx240- d o) \: v9 }( V Z" o. V# j
local tempminplddy240=r(mean)( E9 k2 N# ]! h6 P
' d7 R1 U' G ]8 U7 Q$ Q 8 N9 j# O$ Q: Q+ `) O
}9 t( E* ?1 ?) z; X& ]
$ v! t% G3 S. ?: ~1 c
0 E. ]- J) u. t. Q( c; \" p$ K
4 R, T) h4 C0 c, e
$ `" f# y% t; `3 Z; H+ o$ A+ C 3 G! R% j. r9 V1 N+ V5 T7 n
gen pminplddy240=`tempminplddy240' in 1, W5 s. R8 C7 a0 B: q
& Z- N7 @- I0 b0 J *-------------ddy240pmaxp左侧高峰值 -------------------
' }& @: J ~8 t; _) l( q5 p $ Q( n( J2 ~0 l/ S/ g( q [
preserve
. x4 i* s! Z' ]9 _2 @7 p( r5 `# H 2 U0 J: G; L" y) `- ?* L, O& T
keep if dx240>`tempminp'9 A3 o [' P4 S4 S" ^' T
! Y2 p2 _( x1 T2 D2 @ keep if dx240<`tempmaxp'
' b1 _; U, r- O3 E2 ?
8 I9 j# p: u, W8 p" Z9 G9 A keep if ddy240>0
( M3 m, o- l u2 ^ count4 O7 ]- J1 N. d" P- `
2 [+ C. [3 A1 y% A3 ^6 ^1 h
if r(N)>2 {+ y- t5 I. E9 S& P' s
5 V% i/ ]4 P) m8 h' h3 D
pkexamine dx240 ddy240
2 l& S7 z# G$ p+ j- [- _
' p( o3 h/ W) i# `8 \5 J local tempmaxphddy240=r(tomc) 4 A1 ?6 X5 w) ] N! Q9 ?% b, R
* m; g1 U( _" C5 q restore3 e6 X8 R- h: m( ?0 b# q* g
}$ x: E8 N* D; M+ M; K6 r6 `
. q( {; c1 X) \
else {3 N @# z) h& _1 W5 [( i. l
/ ^# K* V, A u
di "cannot find pmaxphddy240"1 w3 Z2 m) a% i# H/ v
restore, w8 J! s f8 x) o. u) z
, \( C }" u. ]/ z" s9 O6 H7 r2 I& A
sum dx240
+ G1 u; R$ h. Y; f local tempmaxphddy240=r(mean)
) [! z. S# H4 L$ R5 `
( k5 {+ ~8 E5 U( k' _ g7 j" A- S- T
8 I8 g9 b! x! T- p1 G( Z5 p }6 d2 M( z- \) d Y
8 C) W$ @: W; |- [* q# O5 A
6 ^2 g- B3 {! k4 w4 U
. A$ W9 Y( @' R, c8 t/ T" q
0 v5 r& e/ F) ~6 @3 b% s
! [( o0 L; p4 {; G0 V
- f/ ^- y3 e0 k+ j6 J9 Z gen pmaxphddy240=`tempmaxphddy240' in 19 N9 E/ l z x$ j: V
" N- c0 w3 h* k+ {! h
% C, a8 P/ V/ H! F" c9 t0 y9 ? *-------------ddy240pmaxp右侧低峰值 -------------------
- C5 R8 u1 B8 F d1 n& T( t* k" K" N
preserve 1 `9 P, w$ d$ m2 t( B; U, J Z: e$ J
5 ]2 l# p7 U5 y0 C5 j) Z
keep if dx240>`tempmaxp'4 a! ?/ n. J& i
5 z- S2 b5 F/ M M2 N gen temddy240=-ddy240- ?; }# Z$ H7 G2 x4 y
8 j T }6 n5 `/ R) e$ k. g
keep if temddy240>03 F" b( S$ R, j" c
3 p2 z8 C' {; i, l, X, c! J; L% t
count% P- V8 A/ v% w ^+ F. @9 j
- |; \$ _; p8 @+ @9 O
if r(N)>2 {( O# |2 q, x8 ?. B1 Q5 Z
# _, n+ [9 y4 R9 X7 r
pkexamine dx240 temddy240) N/ @2 {/ ]% L
* w" l% n$ V- |$ W local tempmaxplddy240=r(tomc)
/ j8 H7 t+ E; M3 E3 O% ?2 m! b$ h restore
, ~# N9 z0 x+ m+ o+ o1 B: V }
' b7 p, I$ p* t
7 [& [7 ]: j7 ^2 J else {
! g. K; i/ {' u s' L; V6 r1 {0 N" Q restore6 n+ u, ~$ k8 Z3 M: E" ]( L
di "cannot find pmaxlhddy240"
, C. ^% }' i! h& s . D7 m. t5 b+ n. N$ t+ j
. ?9 \$ @2 O: d3 w* K
sum dx240
/ h2 `* d7 j7 M$ r local tempmaxplddy240=r(mean) in 1
; M$ Q3 g4 o5 U2 E
1 X; X; q. a/ v. r! j
1 C8 _. G' Z! ]8 c9 j }
: E5 r, A! n, d7 M. ^
! y$ m/ x0 |5 ]6 Y8 H4 X( P9 F 0 x/ l1 u! N( [3 b: b$ s! R) f
8 j8 l* K4 \: V$ w' _ - ~. _& @: L, P+ `3 a# i
, I0 Q7 a, M5 P5 R
) u, q2 O8 o& a# Z: V8 Q% A
gen pmaxplddy240=`tempmaxphddy240' in 1
; U7 H" ~5 p9 i Z
0 q& P x; ^+ y M2 ^/ s+ o *-------------------------------------' R/ @0 M5 l/ }* ]
* \& X- R' r2 b- x8 j' F" k3 S gen price5d=v5 in 1/208 T3 y4 F6 t8 r. V5 _0 u
5 V8 \$ z6 ]1 T8 s+ C+ A
gen price5yy=_n in 1/20
# G k5 s( K; o1 V" G0 C) K2 ?
) h& f$ n/ ` N( o) Y% x/ p gen price5y=price5yy*(dy240max-dy240min)/20: o! X1 m$ P4 V) n. A
: _. S9 @( E* }! D+ v' t
*price5y &price5d4 H- v, ?5 j. Q/ }5 Y, C" c
1 W# L$ o7 g7 }! T) j
gen priceny=price5y in 1
6 ]' P) u( v$ Y1 u1 F! X
! \6 E% t0 o+ P' U gen pricen=v5 in 12 i! n, H1 d4 c9 u% Q; ^1 Z
1 K- I4 o5 \( A; k8 |: |9 c& ~ ?: V6 ^
" M S: s8 D2 K: ]; j, Z. G. }# M. s
*priceny &pricen4 o4 s: r# h% \7 j1 b7 @) O8 W
; D# L4 f# i( s) Q& `
; [# x- C' n4 F; U) m- m7 L *-------------------------graph------------------ f' G- N$ b- ]; f/ ?# N
- h: k3 x1 ?' b8 k4 H! e" V) V
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)9 Z) X. X# ?8 {% r) P
. J" R v K r; g; w% c2 H* ---------可选项目----------------------
0 h3 X8 H" k$ H*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))4 ~( ^: X& P9 w2 `# |) j, L, Z$ i- {
}1 M$ f+ K% D) U8 U, {+ R
end5 o, z( P% ]5 y& u2 p
|
|